yandex.cloud.api.apploadbalancer.v1.Logging Maven / Gradle / Ivy
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: yandex/cloud/apploadbalancer/v1/logging.proto
package yandex.cloud.api.apploadbalancer.v1;
public final class Logging {
  private Logging() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code yandex.cloud.apploadbalancer.v1.HttpCodeInterval}
   */
  public enum HttpCodeInterval
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * HTTP_CODE_INTERVAL_UNSPECIFIED = 0;
     */
    HTTP_CODE_INTERVAL_UNSPECIFIED(0),
    /**
     * HTTP_1XX = 1;
     */
    HTTP_1XX(1),
    /**
     * HTTP_2XX = 2;
     */
    HTTP_2XX(2),
    /**
     * HTTP_3XX = 3;
     */
    HTTP_3XX(3),
    /**
     * HTTP_4XX = 4;
     */
    HTTP_4XX(4),
    /**
     * HTTP_5XX = 5;
     */
    HTTP_5XX(5),
    /**
     * HTTP_ALL = 6;
     */
    HTTP_ALL(6),
    UNRECOGNIZED(-1),
    ;
    /**
     * HTTP_CODE_INTERVAL_UNSPECIFIED = 0;
     */
    public static final int HTTP_CODE_INTERVAL_UNSPECIFIED_VALUE = 0;
    /**
     * HTTP_1XX = 1;
     */
    public static final int HTTP_1XX_VALUE = 1;
    /**
     * HTTP_2XX = 2;
     */
    public static final int HTTP_2XX_VALUE = 2;
    /**
     * HTTP_3XX = 3;
     */
    public static final int HTTP_3XX_VALUE = 3;
    /**
     * HTTP_4XX = 4;
     */
    public static final int HTTP_4XX_VALUE = 4;
    /**
     * HTTP_5XX = 5;
     */
    public static final int HTTP_5XX_VALUE = 5;
    /**
     * HTTP_ALL = 6;
     */
    public static final int HTTP_ALL_VALUE = 6;
    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      return value;
    }
    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static HttpCodeInterval valueOf(int value) {
      return forNumber(value);
    }
    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static HttpCodeInterval forNumber(int value) {
      switch (value) {
        case 0: return HTTP_CODE_INTERVAL_UNSPECIFIED;
        case 1: return HTTP_1XX;
        case 2: return HTTP_2XX;
        case 3: return HTTP_3XX;
        case 4: return HTTP_4XX;
        case 5: return HTTP_5XX;
        case 6: return HTTP_ALL;
        default: return null;
      }
    }
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        HttpCodeInterval> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public HttpCodeInterval findValueByNumber(int number) {
              return HttpCodeInterval.forNumber(number);
            }
          };
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalStateException(
            "Can't get the descriptor of an unrecognized enum value.");
      }
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return yandex.cloud.api.apploadbalancer.v1.Logging.getDescriptor().getEnumTypes().get(0);
    }
    private static final HttpCodeInterval[] VALUES = values();
    public static HttpCodeInterval valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      if (desc.getIndex() == -1) {
        return UNRECOGNIZED;
      }
      return VALUES[desc.getIndex()];
    }
    private final int value;
    private HttpCodeInterval(int value) {
      this.value = value;
    }
    // @@protoc_insertion_point(enum_scope:yandex.cloud.apploadbalancer.v1.HttpCodeInterval)
  }
  public interface LogDiscardRuleOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.apploadbalancer.v1.LogDiscardRule)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * HTTP codes that should be discarded.
     * 
     *
     * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
     * @return A list containing the httpCodes.
     */
    java.util.List getHttpCodesList();
    /**
     * 
     * HTTP codes that should be discarded.
     * 
     *
     * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
     * @return The count of httpCodes.
     */
    int getHttpCodesCount();
    /**
     * 
     * HTTP codes that should be discarded.
     * 
     *
     * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
     * @param index The index of the element to return.
     * @return The httpCodes at the given index.
     */
    long getHttpCodes(int index);
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @return A list containing the httpCodeIntervals.
     */
    java.util.List getHttpCodeIntervalsList();
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @return The count of httpCodeIntervals.
     */
    int getHttpCodeIntervalsCount();
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @param index The index of the element to return.
     * @return The httpCodeIntervals at the given index.
     */
    yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval getHttpCodeIntervals(int index);
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @return A list containing the enum numeric values on the wire for httpCodeIntervals.
     */
    java.util.List
    getHttpCodeIntervalsValueList();
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of httpCodeIntervals at the given index.
     */
    int getHttpCodeIntervalsValue(int index);
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @return A list containing the grpcCodes.
     */
    java.util.List getGrpcCodesList();
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @return The count of grpcCodes.
     */
    int getGrpcCodesCount();
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @param index The index of the element to return.
     * @return The grpcCodes at the given index.
     */
    com.google.rpc.Code getGrpcCodes(int index);
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @return A list containing the enum numeric values on the wire for grpcCodes.
     */
    java.util.List
    getGrpcCodesValueList();
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of grpcCodes at the given index.
     */
    int getGrpcCodesValue(int index);
    /**
     * 
     * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
     * 
     *
     * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
     * @return Whether the discardPercent field is set.
     */
    boolean hasDiscardPercent();
    /**
     * 
     * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
     * 
     *
     * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
     * @return The discardPercent.
     */
    com.google.protobuf.Int64Value getDiscardPercent();
    /**
     * 
     * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
     * 
     *
     * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
     */
    com.google.protobuf.Int64ValueOrBuilder getDiscardPercentOrBuilder();
  }
  /**
   * 
   * LogDiscardRule discards a fraction of logs with certain codes.
   * If neither codes or intervals are provided, rule applies to all logs.
   * 
   *
   * Protobuf type {@code yandex.cloud.apploadbalancer.v1.LogDiscardRule}
   */
  public static final class LogDiscardRule extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.apploadbalancer.v1.LogDiscardRule)
      LogDiscardRuleOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use LogDiscardRule.newBuilder() to construct.
    private LogDiscardRule(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private LogDiscardRule() {
      httpCodes_ = emptyLongList();
      httpCodeIntervals_ = java.util.Collections.emptyList();
      grpcCodes_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new LogDiscardRule();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private LogDiscardRule(
        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 8: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                httpCodes_ = newLongList();
                mutable_bitField0_ |= 0x00000001;
              }
              httpCodes_.addLong(input.readInt64());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                httpCodes_ = newLongList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                httpCodes_.addLong(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                httpCodeIntervals_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              httpCodeIntervals_.add(rawValue);
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  httpCodeIntervals_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000002;
                }
                httpCodeIntervals_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 24: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                grpcCodes_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              grpcCodes_.add(rawValue);
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                  grpcCodes_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000004;
                }
                grpcCodes_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 34: {
              com.google.protobuf.Int64Value.Builder subBuilder = null;
              if (discardPercent_ != null) {
                subBuilder = discardPercent_.toBuilder();
              }
              discardPercent_ = input.readMessage(com.google.protobuf.Int64Value.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(discardPercent_);
                discardPercent_ = subBuilder.buildPartial();
              }
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          httpCodes_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          httpCodeIntervals_ = java.util.Collections.unmodifiableList(httpCodeIntervals_);
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          grpcCodes_ = java.util.Collections.unmodifiableList(grpcCodes_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.class, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder.class);
    }
    public static final int HTTP_CODES_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.LongList httpCodes_;
    /**
     * 
     * HTTP codes that should be discarded.
     * 
     *
     * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
     * @return A list containing the httpCodes.
     */
    @java.lang.Override
    public java.util.List
        getHttpCodesList() {
      return httpCodes_;
    }
    /**
     * 
     * HTTP codes that should be discarded.
     * 
     *
     * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
     * @return The count of httpCodes.
     */
    public int getHttpCodesCount() {
      return httpCodes_.size();
    }
    /**
     * 
     * HTTP codes that should be discarded.
     * 
     *
     * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
     * @param index The index of the element to return.
     * @return The httpCodes at the given index.
     */
    public long getHttpCodes(int index) {
      return httpCodes_.getLong(index);
    }
    private int httpCodesMemoizedSerializedSize = -1;
    public static final int HTTP_CODE_INTERVALS_FIELD_NUMBER = 2;
    private java.util.List httpCodeIntervals_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval> httpCodeIntervals_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval>() {
              public yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval result = yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval.valueOf(from);
                return result == null ? yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval.UNRECOGNIZED : result;
              }
            };
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @return A list containing the httpCodeIntervals.
     */
    @java.lang.Override
    public java.util.List getHttpCodeIntervalsList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval>(httpCodeIntervals_, httpCodeIntervals_converter_);
    }
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @return The count of httpCodeIntervals.
     */
    @java.lang.Override
    public int getHttpCodeIntervalsCount() {
      return httpCodeIntervals_.size();
    }
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @param index The index of the element to return.
     * @return The httpCodeIntervals at the given index.
     */
    @java.lang.Override
    public yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval getHttpCodeIntervals(int index) {
      return httpCodeIntervals_converter_.convert(httpCodeIntervals_.get(index));
    }
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @return A list containing the enum numeric values on the wire for httpCodeIntervals.
     */
    @java.lang.Override
    public java.util.List
    getHttpCodeIntervalsValueList() {
      return httpCodeIntervals_;
    }
    /**
     * 
     * Groups of HTTP codes like 4xx that should be discarded.
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of httpCodeIntervals at the given index.
     */
    @java.lang.Override
    public int getHttpCodeIntervalsValue(int index) {
      return httpCodeIntervals_.get(index);
    }
    private int httpCodeIntervalsMemoizedSerializedSize;
    public static final int GRPC_CODES_FIELD_NUMBER = 3;
    private java.util.List grpcCodes_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, com.google.rpc.Code> grpcCodes_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, com.google.rpc.Code>() {
              public com.google.rpc.Code convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                com.google.rpc.Code result = com.google.rpc.Code.valueOf(from);
                return result == null ? com.google.rpc.Code.UNRECOGNIZED : result;
              }
            };
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @return A list containing the grpcCodes.
     */
    @java.lang.Override
    public java.util.List getGrpcCodesList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, com.google.rpc.Code>(grpcCodes_, grpcCodes_converter_);
    }
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @return The count of grpcCodes.
     */
    @java.lang.Override
    public int getGrpcCodesCount() {
      return grpcCodes_.size();
    }
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @param index The index of the element to return.
     * @return The grpcCodes at the given index.
     */
    @java.lang.Override
    public com.google.rpc.Code getGrpcCodes(int index) {
      return grpcCodes_converter_.convert(grpcCodes_.get(index));
    }
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @return A list containing the enum numeric values on the wire for grpcCodes.
     */
    @java.lang.Override
    public java.util.List
    getGrpcCodesValueList() {
      return grpcCodes_;
    }
    /**
     * 
     * GRPC codes that should be discarded
     * 
     *
     * repeated .google.rpc.Code grpc_codes = 3;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of grpcCodes at the given index.
     */
    @java.lang.Override
    public int getGrpcCodesValue(int index) {
      return grpcCodes_.get(index);
    }
    private int grpcCodesMemoizedSerializedSize;
    public static final int DISCARD_PERCENT_FIELD_NUMBER = 4;
    private com.google.protobuf.Int64Value discardPercent_;
    /**
     * 
     * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
     * 
     *
     * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
     * @return Whether the discardPercent field is set.
     */
    @java.lang.Override
    public boolean hasDiscardPercent() {
      return discardPercent_ != null;
    }
    /**
     * 
     * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
     * 
     *
     * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
     * @return The discardPercent.
     */
    @java.lang.Override
    public com.google.protobuf.Int64Value getDiscardPercent() {
      return discardPercent_ == null ? com.google.protobuf.Int64Value.getDefaultInstance() : discardPercent_;
    }
    /**
     * 
     * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
     * 
     *
     * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
     */
    @java.lang.Override
    public com.google.protobuf.Int64ValueOrBuilder getDiscardPercentOrBuilder() {
      return getDiscardPercent();
    }
    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 {
      getSerializedSize();
      if (getHttpCodesList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(httpCodesMemoizedSerializedSize);
      }
      for (int i = 0; i < httpCodes_.size(); i++) {
        output.writeInt64NoTag(httpCodes_.getLong(i));
      }
      if (getHttpCodeIntervalsList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(httpCodeIntervalsMemoizedSerializedSize);
      }
      for (int i = 0; i < httpCodeIntervals_.size(); i++) {
        output.writeEnumNoTag(httpCodeIntervals_.get(i));
      }
      if (getGrpcCodesList().size() > 0) {
        output.writeUInt32NoTag(26);
        output.writeUInt32NoTag(grpcCodesMemoizedSerializedSize);
      }
      for (int i = 0; i < grpcCodes_.size(); i++) {
        output.writeEnumNoTag(grpcCodes_.get(i));
      }
      if (discardPercent_ != null) {
        output.writeMessage(4, getDiscardPercent());
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < httpCodes_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(httpCodes_.getLong(i));
        }
        size += dataSize;
        if (!getHttpCodesList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        httpCodesMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < httpCodeIntervals_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(httpCodeIntervals_.get(i));
        }
        size += dataSize;
        if (!getHttpCodeIntervalsList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }httpCodeIntervalsMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < grpcCodes_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(grpcCodes_.get(i));
        }
        size += dataSize;
        if (!getGrpcCodesList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }grpcCodesMemoizedSerializedSize = dataSize;
      }
      if (discardPercent_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getDiscardPercent());
      }
      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 yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule)) {
        return super.equals(obj);
      }
      yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule other = (yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule) obj;
      if (!getHttpCodesList()
          .equals(other.getHttpCodesList())) return false;
      if (!httpCodeIntervals_.equals(other.httpCodeIntervals_)) return false;
      if (!grpcCodes_.equals(other.grpcCodes_)) return false;
      if (hasDiscardPercent() != other.hasDiscardPercent()) return false;
      if (hasDiscardPercent()) {
        if (!getDiscardPercent()
            .equals(other.getDiscardPercent())) 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 (getHttpCodesCount() > 0) {
        hash = (37 * hash) + HTTP_CODES_FIELD_NUMBER;
        hash = (53 * hash) + getHttpCodesList().hashCode();
      }
      if (getHttpCodeIntervalsCount() > 0) {
        hash = (37 * hash) + HTTP_CODE_INTERVALS_FIELD_NUMBER;
        hash = (53 * hash) + httpCodeIntervals_.hashCode();
      }
      if (getGrpcCodesCount() > 0) {
        hash = (37 * hash) + GRPC_CODES_FIELD_NUMBER;
        hash = (53 * hash) + grpcCodes_.hashCode();
      }
      if (hasDiscardPercent()) {
        hash = (37 * hash) + DISCARD_PERCENT_FIELD_NUMBER;
        hash = (53 * hash) + getDiscardPercent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule 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 yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule 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 yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule 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(yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule 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;
    }
    /**
     * 
     * LogDiscardRule discards a fraction of logs with certain codes.
     * If neither codes or intervals are provided, rule applies to all logs.
     * 
     *
     * Protobuf type {@code yandex.cloud.apploadbalancer.v1.LogDiscardRule}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.apploadbalancer.v1.LogDiscardRule)
        yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.class, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder.class);
      }
      // Construct using yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.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();
        httpCodes_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000001);
        httpCodeIntervals_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        grpcCodes_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        if (discardPercentBuilder_ == null) {
          discardPercent_ = null;
        } else {
          discardPercent_ = null;
          discardPercentBuilder_ = null;
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule getDefaultInstanceForType() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule build() {
        yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule buildPartial() {
        yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule result = new yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) != 0)) {
          httpCodes_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.httpCodes_ = httpCodes_;
        if (((bitField0_ & 0x00000002) != 0)) {
          httpCodeIntervals_ = java.util.Collections.unmodifiableList(httpCodeIntervals_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.httpCodeIntervals_ = httpCodeIntervals_;
        if (((bitField0_ & 0x00000004) != 0)) {
          grpcCodes_ = java.util.Collections.unmodifiableList(grpcCodes_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.grpcCodes_ = grpcCodes_;
        if (discardPercentBuilder_ == null) {
          result.discardPercent_ = discardPercent_;
        } else {
          result.discardPercent_ = discardPercentBuilder_.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 yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule) {
          return mergeFrom((yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule other) {
        if (other == yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.getDefaultInstance()) return this;
        if (!other.httpCodes_.isEmpty()) {
          if (httpCodes_.isEmpty()) {
            httpCodes_ = other.httpCodes_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureHttpCodesIsMutable();
            httpCodes_.addAll(other.httpCodes_);
          }
          onChanged();
        }
        if (!other.httpCodeIntervals_.isEmpty()) {
          if (httpCodeIntervals_.isEmpty()) {
            httpCodeIntervals_ = other.httpCodeIntervals_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureHttpCodeIntervalsIsMutable();
            httpCodeIntervals_.addAll(other.httpCodeIntervals_);
          }
          onChanged();
        }
        if (!other.grpcCodes_.isEmpty()) {
          if (grpcCodes_.isEmpty()) {
            grpcCodes_ = other.grpcCodes_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureGrpcCodesIsMutable();
            grpcCodes_.addAll(other.grpcCodes_);
          }
          onChanged();
        }
        if (other.hasDiscardPercent()) {
          mergeDiscardPercent(other.getDiscardPercent());
        }
        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 {
        yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private com.google.protobuf.Internal.LongList httpCodes_ = emptyLongList();
      private void ensureHttpCodesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          httpCodes_ = mutableCopy(httpCodes_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * 
       * HTTP codes that should be discarded.
       * 
       *
       * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
       * @return A list containing the httpCodes.
       */
      public java.util.List
          getHttpCodesList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(httpCodes_) : httpCodes_;
      }
      /**
       * 
       * HTTP codes that should be discarded.
       * 
       *
       * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
       * @return The count of httpCodes.
       */
      public int getHttpCodesCount() {
        return httpCodes_.size();
      }
      /**
       * 
       * HTTP codes that should be discarded.
       * 
       *
       * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
       * @param index The index of the element to return.
       * @return The httpCodes at the given index.
       */
      public long getHttpCodes(int index) {
        return httpCodes_.getLong(index);
      }
      /**
       * 
       * HTTP codes that should be discarded.
       * 
       *
       * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
       * @param index The index to set the value at.
       * @param value The httpCodes to set.
       * @return This builder for chaining.
       */
      public Builder setHttpCodes(
          int index, long value) {
        ensureHttpCodesIsMutable();
        httpCodes_.setLong(index, value);
        onChanged();
        return this;
      }
      /**
       * 
       * HTTP codes that should be discarded.
       * 
       *
       * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
       * @param value The httpCodes to add.
       * @return This builder for chaining.
       */
      public Builder addHttpCodes(long value) {
        ensureHttpCodesIsMutable();
        httpCodes_.addLong(value);
        onChanged();
        return this;
      }
      /**
       * 
       * HTTP codes that should be discarded.
       * 
       *
       * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
       * @param values The httpCodes to add.
       * @return This builder for chaining.
       */
      public Builder addAllHttpCodes(
          java.lang.Iterable extends java.lang.Long> values) {
        ensureHttpCodesIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, httpCodes_);
        onChanged();
        return this;
      }
      /**
       * 
       * HTTP codes that should be discarded.
       * 
       *
       * repeated int64 http_codes = 1 [(.yandex.cloud.value) = "100-599"];
       * @return This builder for chaining.
       */
      public Builder clearHttpCodes() {
        httpCodes_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      private java.util.List httpCodeIntervals_ =
        java.util.Collections.emptyList();
      private void ensureHttpCodeIntervalsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          httpCodeIntervals_ = new java.util.ArrayList(httpCodeIntervals_);
          bitField0_ |= 0x00000002;
        }
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @return A list containing the httpCodeIntervals.
       */
      public java.util.List getHttpCodeIntervalsList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval>(httpCodeIntervals_, httpCodeIntervals_converter_);
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @return The count of httpCodeIntervals.
       */
      public int getHttpCodeIntervalsCount() {
        return httpCodeIntervals_.size();
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param index The index of the element to return.
       * @return The httpCodeIntervals at the given index.
       */
      public yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval getHttpCodeIntervals(int index) {
        return httpCodeIntervals_converter_.convert(httpCodeIntervals_.get(index));
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param index The index to set the value at.
       * @param value The httpCodeIntervals to set.
       * @return This builder for chaining.
       */
      public Builder setHttpCodeIntervals(
          int index, yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureHttpCodeIntervalsIsMutable();
        httpCodeIntervals_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param value The httpCodeIntervals to add.
       * @return This builder for chaining.
       */
      public Builder addHttpCodeIntervals(yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureHttpCodeIntervalsIsMutable();
        httpCodeIntervals_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param values The httpCodeIntervals to add.
       * @return This builder for chaining.
       */
      public Builder addAllHttpCodeIntervals(
          java.lang.Iterable extends yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval> values) {
        ensureHttpCodeIntervalsIsMutable();
        for (yandex.cloud.api.apploadbalancer.v1.Logging.HttpCodeInterval value : values) {
          httpCodeIntervals_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @return This builder for chaining.
       */
      public Builder clearHttpCodeIntervals() {
        httpCodeIntervals_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @return A list containing the enum numeric values on the wire for httpCodeIntervals.
       */
      public java.util.List
      getHttpCodeIntervalsValueList() {
        return java.util.Collections.unmodifiableList(httpCodeIntervals_);
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of httpCodeIntervals at the given index.
       */
      public int getHttpCodeIntervalsValue(int index) {
        return httpCodeIntervals_.get(index);
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of httpCodeIntervals at the given index.
       * @return This builder for chaining.
       */
      public Builder setHttpCodeIntervalsValue(
          int index, int value) {
        ensureHttpCodeIntervalsIsMutable();
        httpCodeIntervals_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param value The enum numeric value on the wire for httpCodeIntervals to add.
       * @return This builder for chaining.
       */
      public Builder addHttpCodeIntervalsValue(int value) {
        ensureHttpCodeIntervalsIsMutable();
        httpCodeIntervals_.add(value);
        onChanged();
        return this;
      }
      /**
       * 
       * Groups of HTTP codes like 4xx that should be discarded.
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.HttpCodeInterval http_code_intervals = 2;
       * @param values The enum numeric values on the wire for httpCodeIntervals to add.
       * @return This builder for chaining.
       */
      public Builder addAllHttpCodeIntervalsValue(
          java.lang.Iterable values) {
        ensureHttpCodeIntervalsIsMutable();
        for (int value : values) {
          httpCodeIntervals_.add(value);
        }
        onChanged();
        return this;
      }
      private java.util.List grpcCodes_ =
        java.util.Collections.emptyList();
      private void ensureGrpcCodesIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          grpcCodes_ = new java.util.ArrayList(grpcCodes_);
          bitField0_ |= 0x00000004;
        }
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @return A list containing the grpcCodes.
       */
      public java.util.List getGrpcCodesList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, com.google.rpc.Code>(grpcCodes_, grpcCodes_converter_);
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @return The count of grpcCodes.
       */
      public int getGrpcCodesCount() {
        return grpcCodes_.size();
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param index The index of the element to return.
       * @return The grpcCodes at the given index.
       */
      public com.google.rpc.Code getGrpcCodes(int index) {
        return grpcCodes_converter_.convert(grpcCodes_.get(index));
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param index The index to set the value at.
       * @param value The grpcCodes to set.
       * @return This builder for chaining.
       */
      public Builder setGrpcCodes(
          int index, com.google.rpc.Code value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureGrpcCodesIsMutable();
        grpcCodes_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param value The grpcCodes to add.
       * @return This builder for chaining.
       */
      public Builder addGrpcCodes(com.google.rpc.Code value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureGrpcCodesIsMutable();
        grpcCodes_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param values The grpcCodes to add.
       * @return This builder for chaining.
       */
      public Builder addAllGrpcCodes(
          java.lang.Iterable extends com.google.rpc.Code> values) {
        ensureGrpcCodesIsMutable();
        for (com.google.rpc.Code value : values) {
          grpcCodes_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @return This builder for chaining.
       */
      public Builder clearGrpcCodes() {
        grpcCodes_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @return A list containing the enum numeric values on the wire for grpcCodes.
       */
      public java.util.List
      getGrpcCodesValueList() {
        return java.util.Collections.unmodifiableList(grpcCodes_);
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of grpcCodes at the given index.
       */
      public int getGrpcCodesValue(int index) {
        return grpcCodes_.get(index);
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of grpcCodes at the given index.
       * @return This builder for chaining.
       */
      public Builder setGrpcCodesValue(
          int index, int value) {
        ensureGrpcCodesIsMutable();
        grpcCodes_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param value The enum numeric value on the wire for grpcCodes to add.
       * @return This builder for chaining.
       */
      public Builder addGrpcCodesValue(int value) {
        ensureGrpcCodesIsMutable();
        grpcCodes_.add(value);
        onChanged();
        return this;
      }
      /**
       * 
       * GRPC codes that should be discarded
       * 
       *
       * repeated .google.rpc.Code grpc_codes = 3;
       * @param values The enum numeric values on the wire for grpcCodes to add.
       * @return This builder for chaining.
       */
      public Builder addAllGrpcCodesValue(
          java.lang.Iterable values) {
        ensureGrpcCodesIsMutable();
        for (int value : values) {
          grpcCodes_.add(value);
        }
        onChanged();
        return this;
      }
      private com.google.protobuf.Int64Value discardPercent_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Int64Value, com.google.protobuf.Int64Value.Builder, com.google.protobuf.Int64ValueOrBuilder> discardPercentBuilder_;
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       * @return Whether the discardPercent field is set.
       */
      public boolean hasDiscardPercent() {
        return discardPercentBuilder_ != null || discardPercent_ != null;
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       * @return The discardPercent.
       */
      public com.google.protobuf.Int64Value getDiscardPercent() {
        if (discardPercentBuilder_ == null) {
          return discardPercent_ == null ? com.google.protobuf.Int64Value.getDefaultInstance() : discardPercent_;
        } else {
          return discardPercentBuilder_.getMessage();
        }
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       */
      public Builder setDiscardPercent(com.google.protobuf.Int64Value value) {
        if (discardPercentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          discardPercent_ = value;
          onChanged();
        } else {
          discardPercentBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       */
      public Builder setDiscardPercent(
          com.google.protobuf.Int64Value.Builder builderForValue) {
        if (discardPercentBuilder_ == null) {
          discardPercent_ = builderForValue.build();
          onChanged();
        } else {
          discardPercentBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       */
      public Builder mergeDiscardPercent(com.google.protobuf.Int64Value value) {
        if (discardPercentBuilder_ == null) {
          if (discardPercent_ != null) {
            discardPercent_ =
              com.google.protobuf.Int64Value.newBuilder(discardPercent_).mergeFrom(value).buildPartial();
          } else {
            discardPercent_ = value;
          }
          onChanged();
        } else {
          discardPercentBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       */
      public Builder clearDiscardPercent() {
        if (discardPercentBuilder_ == null) {
          discardPercent_ = null;
          onChanged();
        } else {
          discardPercent_ = null;
          discardPercentBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       */
      public com.google.protobuf.Int64Value.Builder getDiscardPercentBuilder() {
        
        onChanged();
        return getDiscardPercentFieldBuilder().getBuilder();
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       */
      public com.google.protobuf.Int64ValueOrBuilder getDiscardPercentOrBuilder() {
        if (discardPercentBuilder_ != null) {
          return discardPercentBuilder_.getMessageOrBuilder();
        } else {
          return discardPercent_ == null ?
              com.google.protobuf.Int64Value.getDefaultInstance() : discardPercent_;
        }
      }
      /**
       * 
       * Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all
       * 
       *
       * .google.protobuf.Int64Value discard_percent = 4 [(.yandex.cloud.value) = "0-100"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Int64Value, com.google.protobuf.Int64Value.Builder, com.google.protobuf.Int64ValueOrBuilder> 
          getDiscardPercentFieldBuilder() {
        if (discardPercentBuilder_ == null) {
          discardPercentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.Int64Value, com.google.protobuf.Int64Value.Builder, com.google.protobuf.Int64ValueOrBuilder>(
                  getDiscardPercent(),
                  getParentForChildren(),
                  isClean());
          discardPercent_ = null;
        }
        return discardPercentBuilder_;
      }
      @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:yandex.cloud.apploadbalancer.v1.LogDiscardRule)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.apploadbalancer.v1.LogDiscardRule)
    private static final yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule();
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public LogDiscardRule parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new LogDiscardRule(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 yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface LogOptionsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.apploadbalancer.v1.LogOptions)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Cloud Logging log group ID to store access logs.
     * If not set then logs will be stored in default log group for the folder
     * where load balancer located.
     * 
     *
     * string log_group_id = 1;
     * @return The logGroupId.
     */
    java.lang.String getLogGroupId();
    /**
     * 
     * Cloud Logging log group ID to store access logs.
     * If not set then logs will be stored in default log group for the folder
     * where load balancer located.
     * 
     *
     * string log_group_id = 1;
     * @return The bytes for logGroupId.
     */
    com.google.protobuf.ByteString
        getLogGroupIdBytes();
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    java.util.List 
        getDiscardRulesList();
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule getDiscardRules(int index);
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    int getDiscardRulesCount();
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    java.util.List extends yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder> 
        getDiscardRulesOrBuilderList();
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder getDiscardRulesOrBuilder(
        int index);
    /**
     * 
     * Do not send logs to Cloud Logging log group.
     * 
     *
     * bool disable = 3;
     * @return The disable.
     */
    boolean getDisable();
  }
  /**
   * Protobuf type {@code yandex.cloud.apploadbalancer.v1.LogOptions}
   */
  public static final class LogOptions extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.apploadbalancer.v1.LogOptions)
      LogOptionsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use LogOptions.newBuilder() to construct.
    private LogOptions(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private LogOptions() {
      logGroupId_ = "";
      discardRules_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new LogOptions();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private LogOptions(
        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: {
              java.lang.String s = input.readStringRequireUtf8();
              logGroupId_ = s;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                discardRules_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              discardRules_.add(
                  input.readMessage(yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.parser(), extensionRegistry));
              break;
            }
            case 24: {
              disable_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          discardRules_ = java.util.Collections.unmodifiableList(discardRules_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions.class, yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions.Builder.class);
    }
    public static final int LOG_GROUP_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object logGroupId_;
    /**
     * 
     * Cloud Logging log group ID to store access logs.
     * If not set then logs will be stored in default log group for the folder
     * where load balancer located.
     * 
     *
     * string log_group_id = 1;
     * @return The logGroupId.
     */
    @java.lang.Override
    public java.lang.String getLogGroupId() {
      java.lang.Object ref = logGroupId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        logGroupId_ = s;
        return s;
      }
    }
    /**
     * 
     * Cloud Logging log group ID to store access logs.
     * If not set then logs will be stored in default log group for the folder
     * where load balancer located.
     * 
     *
     * string log_group_id = 1;
     * @return The bytes for logGroupId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLogGroupIdBytes() {
      java.lang.Object ref = logGroupId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        logGroupId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int DISCARD_RULES_FIELD_NUMBER = 2;
    private java.util.List discardRules_;
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    @java.lang.Override
    public java.util.List getDiscardRulesList() {
      return discardRules_;
    }
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder> 
        getDiscardRulesOrBuilderList() {
      return discardRules_;
    }
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    @java.lang.Override
    public int getDiscardRulesCount() {
      return discardRules_.size();
    }
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    @java.lang.Override
    public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule getDiscardRules(int index) {
      return discardRules_.get(index);
    }
    /**
     * 
     * ordered list of rules, first matching rule applies
     * 
     *
     * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
     */
    @java.lang.Override
    public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder getDiscardRulesOrBuilder(
        int index) {
      return discardRules_.get(index);
    }
    public static final int DISABLE_FIELD_NUMBER = 3;
    private boolean disable_;
    /**
     * 
     * Do not send logs to Cloud Logging log group.
     * 
     *
     * bool disable = 3;
     * @return The disable.
     */
    @java.lang.Override
    public boolean getDisable() {
      return disable_;
    }
    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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logGroupId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, logGroupId_);
      }
      for (int i = 0; i < discardRules_.size(); i++) {
        output.writeMessage(2, discardRules_.get(i));
      }
      if (disable_ != false) {
        output.writeBool(3, disable_);
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logGroupId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, logGroupId_);
      }
      for (int i = 0; i < discardRules_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, discardRules_.get(i));
      }
      if (disable_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, disable_);
      }
      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 yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions)) {
        return super.equals(obj);
      }
      yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions other = (yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions) obj;
      if (!getLogGroupId()
          .equals(other.getLogGroupId())) return false;
      if (!getDiscardRulesList()
          .equals(other.getDiscardRulesList())) return false;
      if (getDisable()
          != other.getDisable()) 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();
      hash = (37 * hash) + LOG_GROUP_ID_FIELD_NUMBER;
      hash = (53 * hash) + getLogGroupId().hashCode();
      if (getDiscardRulesCount() > 0) {
        hash = (37 * hash) + DISCARD_RULES_FIELD_NUMBER;
        hash = (53 * hash) + getDiscardRulesList().hashCode();
      }
      hash = (37 * hash) + DISABLE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getDisable());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions 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 yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions 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 yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions 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(yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions 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 yandex.cloud.apploadbalancer.v1.LogOptions}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.apploadbalancer.v1.LogOptions)
        yandex.cloud.api.apploadbalancer.v1.Logging.LogOptionsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions.class, yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions.Builder.class);
      }
      // Construct using yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getDiscardRulesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        logGroupId_ = "";
        if (discardRulesBuilder_ == null) {
          discardRules_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          discardRulesBuilder_.clear();
        }
        disable_ = false;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions getDefaultInstanceForType() {
        return yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions build() {
        yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions buildPartial() {
        yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions result = new yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions(this);
        int from_bitField0_ = bitField0_;
        result.logGroupId_ = logGroupId_;
        if (discardRulesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            discardRules_ = java.util.Collections.unmodifiableList(discardRules_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.discardRules_ = discardRules_;
        } else {
          result.discardRules_ = discardRulesBuilder_.build();
        }
        result.disable_ = disable_;
        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 yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions) {
          return mergeFrom((yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions other) {
        if (other == yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions.getDefaultInstance()) return this;
        if (!other.getLogGroupId().isEmpty()) {
          logGroupId_ = other.logGroupId_;
          onChanged();
        }
        if (discardRulesBuilder_ == null) {
          if (!other.discardRules_.isEmpty()) {
            if (discardRules_.isEmpty()) {
              discardRules_ = other.discardRules_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDiscardRulesIsMutable();
              discardRules_.addAll(other.discardRules_);
            }
            onChanged();
          }
        } else {
          if (!other.discardRules_.isEmpty()) {
            if (discardRulesBuilder_.isEmpty()) {
              discardRulesBuilder_.dispose();
              discardRulesBuilder_ = null;
              discardRules_ = other.discardRules_;
              bitField0_ = (bitField0_ & ~0x00000001);
              discardRulesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getDiscardRulesFieldBuilder() : null;
            } else {
              discardRulesBuilder_.addAllMessages(other.discardRules_);
            }
          }
        }
        if (other.getDisable() != false) {
          setDisable(other.getDisable());
        }
        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 {
        yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object logGroupId_ = "";
      /**
       * 
       * Cloud Logging log group ID to store access logs.
       * If not set then logs will be stored in default log group for the folder
       * where load balancer located.
       * 
       *
       * string log_group_id = 1;
       * @return The logGroupId.
       */
      public java.lang.String getLogGroupId() {
        java.lang.Object ref = logGroupId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          logGroupId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Cloud Logging log group ID to store access logs.
       * If not set then logs will be stored in default log group for the folder
       * where load balancer located.
       * 
       *
       * string log_group_id = 1;
       * @return The bytes for logGroupId.
       */
      public com.google.protobuf.ByteString
          getLogGroupIdBytes() {
        java.lang.Object ref = logGroupId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          logGroupId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Cloud Logging log group ID to store access logs.
       * If not set then logs will be stored in default log group for the folder
       * where load balancer located.
       * 
       *
       * string log_group_id = 1;
       * @param value The logGroupId to set.
       * @return This builder for chaining.
       */
      public Builder setLogGroupId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        logGroupId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Cloud Logging log group ID to store access logs.
       * If not set then logs will be stored in default log group for the folder
       * where load balancer located.
       * 
       *
       * string log_group_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearLogGroupId() {
        
        logGroupId_ = getDefaultInstance().getLogGroupId();
        onChanged();
        return this;
      }
      /**
       * 
       * Cloud Logging log group ID to store access logs.
       * If not set then logs will be stored in default log group for the folder
       * where load balancer located.
       * 
       *
       * string log_group_id = 1;
       * @param value The bytes for logGroupId to set.
       * @return This builder for chaining.
       */
      public Builder setLogGroupIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        logGroupId_ = value;
        onChanged();
        return this;
      }
      private java.util.List discardRules_ =
        java.util.Collections.emptyList();
      private void ensureDiscardRulesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          discardRules_ = new java.util.ArrayList(discardRules_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder> discardRulesBuilder_;
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public java.util.List getDiscardRulesList() {
        if (discardRulesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(discardRules_);
        } else {
          return discardRulesBuilder_.getMessageList();
        }
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public int getDiscardRulesCount() {
        if (discardRulesBuilder_ == null) {
          return discardRules_.size();
        } else {
          return discardRulesBuilder_.getCount();
        }
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule getDiscardRules(int index) {
        if (discardRulesBuilder_ == null) {
          return discardRules_.get(index);
        } else {
          return discardRulesBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder setDiscardRules(
          int index, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule value) {
        if (discardRulesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiscardRulesIsMutable();
          discardRules_.set(index, value);
          onChanged();
        } else {
          discardRulesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder setDiscardRules(
          int index, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder builderForValue) {
        if (discardRulesBuilder_ == null) {
          ensureDiscardRulesIsMutable();
          discardRules_.set(index, builderForValue.build());
          onChanged();
        } else {
          discardRulesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder addDiscardRules(yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule value) {
        if (discardRulesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiscardRulesIsMutable();
          discardRules_.add(value);
          onChanged();
        } else {
          discardRulesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder addDiscardRules(
          int index, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule value) {
        if (discardRulesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiscardRulesIsMutable();
          discardRules_.add(index, value);
          onChanged();
        } else {
          discardRulesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder addDiscardRules(
          yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder builderForValue) {
        if (discardRulesBuilder_ == null) {
          ensureDiscardRulesIsMutable();
          discardRules_.add(builderForValue.build());
          onChanged();
        } else {
          discardRulesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder addDiscardRules(
          int index, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder builderForValue) {
        if (discardRulesBuilder_ == null) {
          ensureDiscardRulesIsMutable();
          discardRules_.add(index, builderForValue.build());
          onChanged();
        } else {
          discardRulesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder addAllDiscardRules(
          java.lang.Iterable extends yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule> values) {
        if (discardRulesBuilder_ == null) {
          ensureDiscardRulesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, discardRules_);
          onChanged();
        } else {
          discardRulesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder clearDiscardRules() {
        if (discardRulesBuilder_ == null) {
          discardRules_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          discardRulesBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public Builder removeDiscardRules(int index) {
        if (discardRulesBuilder_ == null) {
          ensureDiscardRulesIsMutable();
          discardRules_.remove(index);
          onChanged();
        } else {
          discardRulesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder getDiscardRulesBuilder(
          int index) {
        return getDiscardRulesFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder getDiscardRulesOrBuilder(
          int index) {
        if (discardRulesBuilder_ == null) {
          return discardRules_.get(index);  } else {
          return discardRulesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public java.util.List extends yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder> 
           getDiscardRulesOrBuilderList() {
        if (discardRulesBuilder_ != null) {
          return discardRulesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(discardRules_);
        }
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder addDiscardRulesBuilder() {
        return getDiscardRulesFieldBuilder().addBuilder(
            yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.getDefaultInstance());
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder addDiscardRulesBuilder(
          int index) {
        return getDiscardRulesFieldBuilder().addBuilder(
            index, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.getDefaultInstance());
      }
      /**
       * 
       * ordered list of rules, first matching rule applies
       * 
       *
       * repeated .yandex.cloud.apploadbalancer.v1.LogDiscardRule discard_rules = 2;
       */
      public java.util.List 
           getDiscardRulesBuilderList() {
        return getDiscardRulesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder> 
          getDiscardRulesFieldBuilder() {
        if (discardRulesBuilder_ == null) {
          discardRulesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRule.Builder, yandex.cloud.api.apploadbalancer.v1.Logging.LogDiscardRuleOrBuilder>(
                  discardRules_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          discardRules_ = null;
        }
        return discardRulesBuilder_;
      }
      private boolean disable_ ;
      /**
       * 
       * Do not send logs to Cloud Logging log group.
       * 
       *
       * bool disable = 3;
       * @return The disable.
       */
      @java.lang.Override
      public boolean getDisable() {
        return disable_;
      }
      /**
       * 
       * Do not send logs to Cloud Logging log group.
       * 
       *
       * bool disable = 3;
       * @param value The disable to set.
       * @return This builder for chaining.
       */
      public Builder setDisable(boolean value) {
        
        disable_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Do not send logs to Cloud Logging log group.
       * 
       *
       * bool disable = 3;
       * @return This builder for chaining.
       */
      public Builder clearDisable() {
        
        disable_ = false;
        onChanged();
        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:yandex.cloud.apploadbalancer.v1.LogOptions)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.apploadbalancer.v1.LogOptions)
    private static final yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions();
    }
    public static yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public LogOptions parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new LogOptions(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 yandex.cloud.api.apploadbalancer.v1.Logging.LogOptions getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_fieldAccessorTable;
  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n-yandex/cloud/apploadbalancer/v1/loggin" +
      "g.proto\022\037yandex.cloud.apploadbalancer.v1" +
      "\032\036google/protobuf/wrappers.proto\032\035yandex" +
      "/cloud/validation.proto\032\025google/rpc/code" +
      ".proto\"\350\001\n\016LogDiscardRule\022\037\n\nhttp_codes\030" +
      "\001 \003(\003B\013\372\3071\007100-599\022N\n\023http_code_interval" +
      "s\030\002 \003(\01621.yandex.cloud.apploadbalancer.v" +
      "1.HttpCodeInterval\022$\n\ngrpc_codes\030\003 \003(\0162\020" +
      ".google.rpc.Code\022?\n\017discard_percent\030\004 \001(" +
      "\0132\033.google.protobuf.Int64ValueB\t\372\3071\0050-10" +
      "0\"{\n\nLogOptions\022\024\n\014log_group_id\030\001 \001(\t\022F\n" +
      "\rdiscard_rules\030\002 \003(\0132/.yandex.cloud.appl" +
      "oadbalancer.v1.LogDiscardRule\022\017\n\007disable" +
      "\030\003 \001(\010*\212\001\n\020HttpCodeInterval\022\"\n\036HTTP_CODE" +
      "_INTERVAL_UNSPECIFIED\020\000\022\014\n\010HTTP_1XX\020\001\022\014\n" +
      "\010HTTP_2XX\020\002\022\014\n\010HTTP_3XX\020\003\022\014\n\010HTTP_4XX\020\004\022" +
      "\014\n\010HTTP_5XX\020\005\022\014\n\010HTTP_ALL\020\006Bz\n#yandex.cl" +
      "oud.api.apploadbalancer.v1ZSgithub.com/y" +
      "andex-cloud/go-genproto/yandex/cloud/app" +
      "loadbalancer/v1;apploadbalancerb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.WrappersProto.getDescriptor(),
          yandex.cloud.api.Validation.getDescriptor(),
          com.google.rpc.CodeProto.getDescriptor(),
        });
    internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_apploadbalancer_v1_LogDiscardRule_descriptor,
        new java.lang.String[] { "HttpCodes", "HttpCodeIntervals", "GrpcCodes", "DiscardPercent", });
    internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_apploadbalancer_v1_LogOptions_descriptor,
        new java.lang.String[] { "LogGroupId", "DiscardRules", "Disable", });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(yandex.cloud.api.Validation.value);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.protobuf.WrappersProto.getDescriptor();
    yandex.cloud.api.Validation.getDescriptor();
    com.google.rpc.CodeProto.getDescriptor();
  }
  // @@protoc_insertion_point(outer_class_scope)
}
                                                   © 2015 - 2025 Weber Informatics LLC | Privacy Policy