yandex.cloud.api.ydb.v1.DatabaseOuterClass Maven / Gradle / Ivy
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: yandex/cloud/ydb/v1/database.proto
package yandex.cloud.api.ydb.v1;
public final class DatabaseOuterClass {
  private DatabaseOuterClass() {}
  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.ydb.v1.AlertEvaluationStatus}
   */
  public enum AlertEvaluationStatus
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * ALERT_EVALUATION_STATUS_UNSPECIFIED = 0;
     */
    ALERT_EVALUATION_STATUS_UNSPECIFIED(0),
    /**
     * ALERT_EVALUATION_STATUS_OK = 1;
     */
    ALERT_EVALUATION_STATUS_OK(1),
    /**
     * ALERT_EVALUATION_STATUS_NO_DATA = 2;
     */
    ALERT_EVALUATION_STATUS_NO_DATA(2),
    /**
     * ALERT_EVALUATION_STATUS_ERROR = 3;
     */
    ALERT_EVALUATION_STATUS_ERROR(3),
    /**
     * ALERT_EVALUATION_STATUS_ALARM = 4;
     */
    ALERT_EVALUATION_STATUS_ALARM(4),
    /**
     * ALERT_EVALUATION_STATUS_WARN = 5;
     */
    ALERT_EVALUATION_STATUS_WARN(5),
    UNRECOGNIZED(-1),
    ;
    /**
     * ALERT_EVALUATION_STATUS_UNSPECIFIED = 0;
     */
    public static final int ALERT_EVALUATION_STATUS_UNSPECIFIED_VALUE = 0;
    /**
     * ALERT_EVALUATION_STATUS_OK = 1;
     */
    public static final int ALERT_EVALUATION_STATUS_OK_VALUE = 1;
    /**
     * ALERT_EVALUATION_STATUS_NO_DATA = 2;
     */
    public static final int ALERT_EVALUATION_STATUS_NO_DATA_VALUE = 2;
    /**
     * ALERT_EVALUATION_STATUS_ERROR = 3;
     */
    public static final int ALERT_EVALUATION_STATUS_ERROR_VALUE = 3;
    /**
     * ALERT_EVALUATION_STATUS_ALARM = 4;
     */
    public static final int ALERT_EVALUATION_STATUS_ALARM_VALUE = 4;
    /**
     * ALERT_EVALUATION_STATUS_WARN = 5;
     */
    public static final int ALERT_EVALUATION_STATUS_WARN_VALUE = 5;
    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 AlertEvaluationStatus 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 AlertEvaluationStatus forNumber(int value) {
      switch (value) {
        case 0: return ALERT_EVALUATION_STATUS_UNSPECIFIED;
        case 1: return ALERT_EVALUATION_STATUS_OK;
        case 2: return ALERT_EVALUATION_STATUS_NO_DATA;
        case 3: return ALERT_EVALUATION_STATUS_ERROR;
        case 4: return ALERT_EVALUATION_STATUS_ALARM;
        case 5: return ALERT_EVALUATION_STATUS_WARN;
        default: return null;
      }
    }
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        AlertEvaluationStatus> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public AlertEvaluationStatus findValueByNumber(int number) {
              return AlertEvaluationStatus.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.ydb.v1.DatabaseOuterClass.getDescriptor().getEnumTypes().get(0);
    }
    private static final AlertEvaluationStatus[] VALUES = values();
    public static AlertEvaluationStatus 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 AlertEvaluationStatus(int value) {
      this.value = value;
    }
    // @@protoc_insertion_point(enum_scope:yandex.cloud.ydb.v1.AlertEvaluationStatus)
  }
  public interface DatabaseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.Database)
      com.google.protobuf.MessageOrBuilder {
    /**
     * string id = 1;
     * @return The id.
     */
    java.lang.String getId();
    /**
     * string id = 1;
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
    /**
     * string folder_id = 2;
     * @return The folderId.
     */
    java.lang.String getFolderId();
    /**
     * string folder_id = 2;
     * @return The bytes for folderId.
     */
    com.google.protobuf.ByteString
        getFolderIdBytes();
    /**
     * .google.protobuf.Timestamp created_at = 3;
     * @return Whether the createdAt field is set.
     */
    boolean hasCreatedAt();
    /**
     * .google.protobuf.Timestamp created_at = 3;
     * @return The createdAt.
     */
    com.google.protobuf.Timestamp getCreatedAt();
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder();
    /**
     * string name = 4;
     * @return The name.
     */
    java.lang.String getName();
    /**
     * string name = 4;
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
    /**
     * string description = 5;
     * @return The description.
     */
    java.lang.String getDescription();
    /**
     * string description = 5;
     * @return The bytes for description.
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();
    /**
     * .yandex.cloud.ydb.v1.Database.Status status = 6;
     * @return The enum numeric value on the wire for status.
     */
    int getStatusValue();
    /**
     * .yandex.cloud.ydb.v1.Database.Status status = 6;
     * @return The status.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status getStatus();
    /**
     * string endpoint = 8;
     * @return The endpoint.
     */
    java.lang.String getEndpoint();
    /**
     * string endpoint = 8;
     * @return The bytes for endpoint.
     */
    com.google.protobuf.ByteString
        getEndpointBytes();
    /**
     * string resource_preset_id = 9;
     * @return The resourcePresetId.
     */
    java.lang.String getResourcePresetId();
    /**
     * string resource_preset_id = 9;
     * @return The bytes for resourcePresetId.
     */
    com.google.protobuf.ByteString
        getResourcePresetIdBytes();
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
     * @return Whether the storageConfig field is set.
     */
    boolean hasStorageConfig();
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
     * @return The storageConfig.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getStorageConfig();
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder getStorageConfigOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
     * @return Whether the scalePolicy field is set.
     */
    boolean hasScalePolicy();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
     * @return The scalePolicy.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getScalePolicy();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder getScalePolicyOrBuilder();
    /**
     * string network_id = 12;
     * @return The networkId.
     */
    java.lang.String getNetworkId();
    /**
     * string network_id = 12;
     * @return The bytes for networkId.
     */
    com.google.protobuf.ByteString
        getNetworkIdBytes();
    /**
     * repeated string subnet_ids = 13;
     * @return A list containing the subnetIds.
     */
    java.util.List
        getSubnetIdsList();
    /**
     * repeated string subnet_ids = 13;
     * @return The count of subnetIds.
     */
    int getSubnetIdsCount();
    /**
     * repeated string subnet_ids = 13;
     * @param index The index of the element to return.
     * @return The subnetIds at the given index.
     */
    java.lang.String getSubnetIds(int index);
    /**
     * repeated string subnet_ids = 13;
     * @param index The index of the value to return.
     * @return The bytes of the subnetIds at the given index.
     */
    com.google.protobuf.ByteString
        getSubnetIdsBytes(int index);
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
     * @return Whether the zonalDatabase field is set.
     */
    boolean hasZonalDatabase();
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
     * @return The zonalDatabase.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase getZonalDatabase();
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabaseOrBuilder getZonalDatabaseOrBuilder();
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
     * @return Whether the regionalDatabase field is set.
     */
    boolean hasRegionalDatabase();
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
     * @return The regionalDatabase.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase getRegionalDatabase();
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabaseOrBuilder getRegionalDatabaseOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
     * @return Whether the dedicatedDatabase field is set.
     */
    boolean hasDedicatedDatabase();
    /**
     * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
     * @return The dedicatedDatabase.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase getDedicatedDatabase();
    /**
     * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabaseOrBuilder getDedicatedDatabaseOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
     * @return Whether the serverlessDatabase field is set.
     */
    boolean hasServerlessDatabase();
    /**
     * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
     * @return The serverlessDatabase.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase getServerlessDatabase();
    /**
     * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabaseOrBuilder getServerlessDatabaseOrBuilder();
    /**
     * bool assign_public_ips = 16;
     * @return The assignPublicIps.
     */
    boolean getAssignPublicIps();
    /**
     * string location_id = 17;
     * @return The locationId.
     */
    java.lang.String getLocationId();
    /**
     * string location_id = 17;
     * @return The bytes for locationId.
     */
    com.google.protobuf.ByteString
        getLocationIdBytes();
    /**
     * map<string, string> labels = 20;
     */
    int getLabelsCount();
    /**
     * map<string, string> labels = 20;
     */
    boolean containsLabels(
        java.lang.String key);
    /**
     * Use {@link #getLabelsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getLabels();
    /**
     * map<string, string> labels = 20;
     */
    java.util.Map
    getLabelsMap();
    /**
     * map<string, string> labels = 20;
     */
    java.lang.String getLabelsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> labels = 20;
     */
    java.lang.String getLabelsOrThrow(
        java.lang.String key);
    /**
     * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
     * @return Whether the backupConfig field is set.
     */
    boolean hasBackupConfig();
    /**
     * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
     * @return The backupConfig.
     */
    yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig getBackupConfig();
    /**
     * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
     */
    yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfigOrBuilder getBackupConfigOrBuilder();
    /**
     * string document_api_endpoint = 22;
     * @return The documentApiEndpoint.
     */
    java.lang.String getDocumentApiEndpoint();
    /**
     * string document_api_endpoint = 22;
     * @return The bytes for documentApiEndpoint.
     */
    com.google.protobuf.ByteString
        getDocumentApiEndpointBytes();
    /**
     * string kinesis_api_endpoint = 23;
     * @return The kinesisApiEndpoint.
     */
    java.lang.String getKinesisApiEndpoint();
    /**
     * string kinesis_api_endpoint = 23;
     * @return The bytes for kinesisApiEndpoint.
     */
    com.google.protobuf.ByteString
        getKinesisApiEndpointBytes();
    /**
     * string kafka_api_endpoint = 26;
     * @return The kafkaApiEndpoint.
     */
    java.lang.String getKafkaApiEndpoint();
    /**
     * string kafka_api_endpoint = 26;
     * @return The bytes for kafkaApiEndpoint.
     */
    com.google.protobuf.ByteString
        getKafkaApiEndpointBytes();
    /**
     * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
     * @return Whether the monitoringConfig field is set.
     */
    boolean hasMonitoringConfig();
    /**
     * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
     * @return The monitoringConfig.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig getMonitoringConfig();
    /**
     * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfigOrBuilder getMonitoringConfigOrBuilder();
    /**
     * bool deletion_protection = 25;
     * @return The deletionProtection.
     */
    boolean getDeletionProtection();
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.DatabaseTypeCase getDatabaseTypeCase();
  }
  /**
   * 
   * YDB database.
   * 
   *
   * Protobuf type {@code yandex.cloud.ydb.v1.Database}
   */
  public static final class Database extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.Database)
      DatabaseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Database.newBuilder() to construct.
    private Database(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private Database() {
      id_ = "";
      folderId_ = "";
      name_ = "";
      description_ = "";
      status_ = 0;
      endpoint_ = "";
      resourcePresetId_ = "";
      networkId_ = "";
      subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      locationId_ = "";
      documentApiEndpoint_ = "";
      kinesisApiEndpoint_ = "";
      kafkaApiEndpoint_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Database();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Database(
        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();
              id_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              folderId_ = s;
              break;
            }
            case 26: {
              com.google.protobuf.Timestamp.Builder subBuilder = null;
              if (createdAt_ != null) {
                subBuilder = createdAt_.toBuilder();
              }
              createdAt_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(createdAt_);
                createdAt_ = subBuilder.buildPartial();
              }
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              name_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();
              description_ = s;
              break;
            }
            case 48: {
              int rawValue = input.readEnum();
              status_ = rawValue;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();
              endpoint_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();
              resourcePresetId_ = s;
              break;
            }
            case 82: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder subBuilder = null;
              if (storageConfig_ != null) {
                subBuilder = storageConfig_.toBuilder();
              }
              storageConfig_ = input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(storageConfig_);
                storageConfig_ = subBuilder.buildPartial();
              }
              break;
            }
            case 90: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder subBuilder = null;
              if (scalePolicy_ != null) {
                subBuilder = scalePolicy_.toBuilder();
              }
              scalePolicy_ = input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(scalePolicy_);
                scalePolicy_ = subBuilder.buildPartial();
              }
              break;
            }
            case 98: {
              java.lang.String s = input.readStringRequireUtf8();
              networkId_ = s;
              break;
            }
            case 106: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                subnetIds_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              subnetIds_.add(s);
              break;
            }
            case 114: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder subBuilder = null;
              if (databaseTypeCase_ == 14) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_).toBuilder();
              }
              databaseType_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_);
                databaseType_ = subBuilder.buildPartial();
              }
              databaseTypeCase_ = 14;
              break;
            }
            case 122: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder subBuilder = null;
              if (databaseTypeCase_ == 15) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_).toBuilder();
              }
              databaseType_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_);
                databaseType_ = subBuilder.buildPartial();
              }
              databaseTypeCase_ = 15;
              break;
            }
            case 128: {
              assignPublicIps_ = input.readBool();
              break;
            }
            case 138: {
              java.lang.String s = input.readStringRequireUtf8();
              locationId_ = s;
              break;
            }
            case 146: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder subBuilder = null;
              if (databaseTypeCase_ == 18) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_).toBuilder();
              }
              databaseType_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_);
                databaseType_ = subBuilder.buildPartial();
              }
              databaseTypeCase_ = 18;
              break;
            }
            case 154: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder subBuilder = null;
              if (databaseTypeCase_ == 19) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_).toBuilder();
              }
              databaseType_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_);
                databaseType_ = subBuilder.buildPartial();
              }
              databaseTypeCase_ = 19;
              break;
            }
            case 162: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                labels_ = com.google.protobuf.MapField.newMapField(
                    LabelsDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000002;
              }
              com.google.protobuf.MapEntry
              labels__ = input.readMessage(
                  LabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              labels_.getMutableMap().put(
                  labels__.getKey(), labels__.getValue());
              break;
            }
            case 170: {
              yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.Builder subBuilder = null;
              if (backupConfig_ != null) {
                subBuilder = backupConfig_.toBuilder();
              }
              backupConfig_ = input.readMessage(yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(backupConfig_);
                backupConfig_ = subBuilder.buildPartial();
              }
              break;
            }
            case 178: {
              java.lang.String s = input.readStringRequireUtf8();
              documentApiEndpoint_ = s;
              break;
            }
            case 186: {
              java.lang.String s = input.readStringRequireUtf8();
              kinesisApiEndpoint_ = s;
              break;
            }
            case 194: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder subBuilder = null;
              if (monitoringConfig_ != null) {
                subBuilder = monitoringConfig_.toBuilder();
              }
              monitoringConfig_ = input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(monitoringConfig_);
                monitoringConfig_ = subBuilder.buildPartial();
              }
              break;
            }
            case 200: {
              deletionProtection_ = input.readBool();
              break;
            }
            case 210: {
              java.lang.String s = input.readStringRequireUtf8();
              kafkaApiEndpoint_ = s;
              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)) {
          subnetIds_ = subnetIds_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Database_descriptor;
    }
    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 20:
          return internalGetLabels();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Database_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Builder.class);
    }
    /**
     * Protobuf enum {@code yandex.cloud.ydb.v1.Database.Status}
     */
    public enum Status
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * STATUS_UNSPECIFIED = 0;
       */
      STATUS_UNSPECIFIED(0),
      /**
       * PROVISIONING = 1;
       */
      PROVISIONING(1),
      /**
       * RUNNING = 2;
       */
      RUNNING(2),
      /**
       * UPDATING = 4;
       */
      UPDATING(4),
      /**
       * ERROR = 5;
       */
      ERROR(5),
      /**
       * DELETING = 6;
       */
      DELETING(6),
      /**
       * STARTING = 7;
       */
      STARTING(7),
      /**
       * STOPPED = 8;
       */
      STOPPED(8),
      UNRECOGNIZED(-1),
      ;
      /**
       * STATUS_UNSPECIFIED = 0;
       */
      public static final int STATUS_UNSPECIFIED_VALUE = 0;
      /**
       * PROVISIONING = 1;
       */
      public static final int PROVISIONING_VALUE = 1;
      /**
       * RUNNING = 2;
       */
      public static final int RUNNING_VALUE = 2;
      /**
       * UPDATING = 4;
       */
      public static final int UPDATING_VALUE = 4;
      /**
       * ERROR = 5;
       */
      public static final int ERROR_VALUE = 5;
      /**
       * DELETING = 6;
       */
      public static final int DELETING_VALUE = 6;
      /**
       * STARTING = 7;
       */
      public static final int STARTING_VALUE = 7;
      /**
       * STOPPED = 8;
       */
      public static final int STOPPED_VALUE = 8;
      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 Status 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 Status forNumber(int value) {
        switch (value) {
          case 0: return STATUS_UNSPECIFIED;
          case 1: return PROVISIONING;
          case 2: return RUNNING;
          case 4: return UPDATING;
          case 5: return ERROR;
          case 6: return DELETING;
          case 7: return STARTING;
          case 8: return STOPPED;
          default: return null;
        }
      }
      public static com.google.protobuf.Internal.EnumLiteMap
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Status> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap() {
              public Status findValueByNumber(int number) {
                return Status.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.ydb.v1.DatabaseOuterClass.Database.getDescriptor().getEnumTypes().get(0);
      }
      private static final Status[] VALUES = values();
      public static Status 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 Status(int value) {
        this.value = value;
      }
      // @@protoc_insertion_point(enum_scope:yandex.cloud.ydb.v1.Database.Status)
    }
    private int databaseTypeCase_ = 0;
    private java.lang.Object databaseType_;
    public enum DatabaseTypeCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      ZONAL_DATABASE(14),
      REGIONAL_DATABASE(15),
      DEDICATED_DATABASE(18),
      SERVERLESS_DATABASE(19),
      DATABASETYPE_NOT_SET(0);
      private final int value;
      private DatabaseTypeCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static DatabaseTypeCase valueOf(int value) {
        return forNumber(value);
      }
      public static DatabaseTypeCase forNumber(int value) {
        switch (value) {
          case 14: return ZONAL_DATABASE;
          case 15: return REGIONAL_DATABASE;
          case 18: return DEDICATED_DATABASE;
          case 19: return SERVERLESS_DATABASE;
          case 0: return DATABASETYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };
    public DatabaseTypeCase
    getDatabaseTypeCase() {
      return DatabaseTypeCase.forNumber(
          databaseTypeCase_);
    }
    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * string id = 1;
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      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();
        id_ = s;
        return s;
      }
    }
    /**
     * string id = 1;
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int FOLDER_ID_FIELD_NUMBER = 2;
    private volatile java.lang.Object folderId_;
    /**
     * string folder_id = 2;
     * @return The folderId.
     */
    @java.lang.Override
    public java.lang.String getFolderId() {
      java.lang.Object ref = folderId_;
      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();
        folderId_ = s;
        return s;
      }
    }
    /**
     * string folder_id = 2;
     * @return The bytes for folderId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFolderIdBytes() {
      java.lang.Object ref = folderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        folderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int CREATED_AT_FIELD_NUMBER = 3;
    private com.google.protobuf.Timestamp createdAt_;
    /**
     * .google.protobuf.Timestamp created_at = 3;
     * @return Whether the createdAt field is set.
     */
    @java.lang.Override
    public boolean hasCreatedAt() {
      return createdAt_ != null;
    }
    /**
     * .google.protobuf.Timestamp created_at = 3;
     * @return The createdAt.
     */
    @java.lang.Override
    public com.google.protobuf.Timestamp getCreatedAt() {
      return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
    }
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    @java.lang.Override
    public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() {
      return getCreatedAt();
    }
    public static final int NAME_FIELD_NUMBER = 4;
    private volatile java.lang.Object name_;
    /**
     * string name = 4;
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      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();
        name_ = s;
        return s;
      }
    }
    /**
     * string name = 4;
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int DESCRIPTION_FIELD_NUMBER = 5;
    private volatile java.lang.Object description_;
    /**
     * string description = 5;
     * @return The description.
     */
    @java.lang.Override
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      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();
        description_ = s;
        return s;
      }
    }
    /**
     * string description = 5;
     * @return The bytes for description.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int STATUS_FIELD_NUMBER = 6;
    private int status_;
    /**
     * .yandex.cloud.ydb.v1.Database.Status status = 6;
     * @return The enum numeric value on the wire for status.
     */
    @java.lang.Override public int getStatusValue() {
      return status_;
    }
    /**
     * .yandex.cloud.ydb.v1.Database.Status status = 6;
     * @return The status.
     */
    @java.lang.Override public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status getStatus() {
      @SuppressWarnings("deprecation")
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status result = yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status.valueOf(status_);
      return result == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status.UNRECOGNIZED : result;
    }
    public static final int ENDPOINT_FIELD_NUMBER = 8;
    private volatile java.lang.Object endpoint_;
    /**
     * string endpoint = 8;
     * @return The endpoint.
     */
    @java.lang.Override
    public java.lang.String getEndpoint() {
      java.lang.Object ref = endpoint_;
      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();
        endpoint_ = s;
        return s;
      }
    }
    /**
     * string endpoint = 8;
     * @return The bytes for endpoint.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEndpointBytes() {
      java.lang.Object ref = endpoint_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        endpoint_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int RESOURCE_PRESET_ID_FIELD_NUMBER = 9;
    private volatile java.lang.Object resourcePresetId_;
    /**
     * string resource_preset_id = 9;
     * @return The resourcePresetId.
     */
    @java.lang.Override
    public java.lang.String getResourcePresetId() {
      java.lang.Object ref = resourcePresetId_;
      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();
        resourcePresetId_ = s;
        return s;
      }
    }
    /**
     * string resource_preset_id = 9;
     * @return The bytes for resourcePresetId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResourcePresetIdBytes() {
      java.lang.Object ref = resourcePresetId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        resourcePresetId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int STORAGE_CONFIG_FIELD_NUMBER = 10;
    private yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig storageConfig_;
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
     * @return Whether the storageConfig field is set.
     */
    @java.lang.Override
    public boolean hasStorageConfig() {
      return storageConfig_ != null;
    }
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
     * @return The storageConfig.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getStorageConfig() {
      return storageConfig_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance() : storageConfig_;
    }
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder getStorageConfigOrBuilder() {
      return getStorageConfig();
    }
    public static final int SCALE_POLICY_FIELD_NUMBER = 11;
    private yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy scalePolicy_;
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
     * @return Whether the scalePolicy field is set.
     */
    @java.lang.Override
    public boolean hasScalePolicy() {
      return scalePolicy_ != null;
    }
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
     * @return The scalePolicy.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getScalePolicy() {
      return scalePolicy_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance() : scalePolicy_;
    }
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder getScalePolicyOrBuilder() {
      return getScalePolicy();
    }
    public static final int NETWORK_ID_FIELD_NUMBER = 12;
    private volatile java.lang.Object networkId_;
    /**
     * string network_id = 12;
     * @return The networkId.
     */
    @java.lang.Override
    public java.lang.String getNetworkId() {
      java.lang.Object ref = networkId_;
      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();
        networkId_ = s;
        return s;
      }
    }
    /**
     * string network_id = 12;
     * @return The bytes for networkId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNetworkIdBytes() {
      java.lang.Object ref = networkId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        networkId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int SUBNET_IDS_FIELD_NUMBER = 13;
    private com.google.protobuf.LazyStringList subnetIds_;
    /**
     * repeated string subnet_ids = 13;
     * @return A list containing the subnetIds.
     */
    public com.google.protobuf.ProtocolStringList
        getSubnetIdsList() {
      return subnetIds_;
    }
    /**
     * repeated string subnet_ids = 13;
     * @return The count of subnetIds.
     */
    public int getSubnetIdsCount() {
      return subnetIds_.size();
    }
    /**
     * repeated string subnet_ids = 13;
     * @param index The index of the element to return.
     * @return The subnetIds at the given index.
     */
    public java.lang.String getSubnetIds(int index) {
      return subnetIds_.get(index);
    }
    /**
     * repeated string subnet_ids = 13;
     * @param index The index of the value to return.
     * @return The bytes of the subnetIds at the given index.
     */
    public com.google.protobuf.ByteString
        getSubnetIdsBytes(int index) {
      return subnetIds_.getByteString(index);
    }
    public static final int ZONAL_DATABASE_FIELD_NUMBER = 14;
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
     * @return Whether the zonalDatabase field is set.
     */
    @java.lang.Override
    public boolean hasZonalDatabase() {
      return databaseTypeCase_ == 14;
    }
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
     * @return The zonalDatabase.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase getZonalDatabase() {
      if (databaseTypeCase_ == 14) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance();
    }
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabaseOrBuilder getZonalDatabaseOrBuilder() {
      if (databaseTypeCase_ == 14) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance();
    }
    public static final int REGIONAL_DATABASE_FIELD_NUMBER = 15;
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
     * @return Whether the regionalDatabase field is set.
     */
    @java.lang.Override
    public boolean hasRegionalDatabase() {
      return databaseTypeCase_ == 15;
    }
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
     * @return The regionalDatabase.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase getRegionalDatabase() {
      if (databaseTypeCase_ == 15) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance();
    }
    /**
     * 
     * deprecated field
     * 
     *
     * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabaseOrBuilder getRegionalDatabaseOrBuilder() {
      if (databaseTypeCase_ == 15) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance();
    }
    public static final int DEDICATED_DATABASE_FIELD_NUMBER = 18;
    /**
     * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
     * @return Whether the dedicatedDatabase field is set.
     */
    @java.lang.Override
    public boolean hasDedicatedDatabase() {
      return databaseTypeCase_ == 18;
    }
    /**
     * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
     * @return The dedicatedDatabase.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase getDedicatedDatabase() {
      if (databaseTypeCase_ == 18) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabaseOrBuilder getDedicatedDatabaseOrBuilder() {
      if (databaseTypeCase_ == 18) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance();
    }
    public static final int SERVERLESS_DATABASE_FIELD_NUMBER = 19;
    /**
     * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
     * @return Whether the serverlessDatabase field is set.
     */
    @java.lang.Override
    public boolean hasServerlessDatabase() {
      return databaseTypeCase_ == 19;
    }
    /**
     * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
     * @return The serverlessDatabase.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase getServerlessDatabase() {
      if (databaseTypeCase_ == 19) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabaseOrBuilder getServerlessDatabaseOrBuilder() {
      if (databaseTypeCase_ == 19) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance();
    }
    public static final int ASSIGN_PUBLIC_IPS_FIELD_NUMBER = 16;
    private boolean assignPublicIps_;
    /**
     * bool assign_public_ips = 16;
     * @return The assignPublicIps.
     */
    @java.lang.Override
    public boolean getAssignPublicIps() {
      return assignPublicIps_;
    }
    public static final int LOCATION_ID_FIELD_NUMBER = 17;
    private volatile java.lang.Object locationId_;
    /**
     * string location_id = 17;
     * @return The locationId.
     */
    @java.lang.Override
    public java.lang.String getLocationId() {
      java.lang.Object ref = locationId_;
      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();
        locationId_ = s;
        return s;
      }
    }
    /**
     * string location_id = 17;
     * @return The bytes for locationId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLocationIdBytes() {
      java.lang.Object ref = locationId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        locationId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int LABELS_FIELD_NUMBER = 20;
    private static final class LabelsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Database_LabelsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> labels_;
    private com.google.protobuf.MapField
    internalGetLabels() {
      if (labels_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            LabelsDefaultEntryHolder.defaultEntry);
      }
      return labels_;
    }
    public int getLabelsCount() {
      return internalGetLabels().getMap().size();
    }
    /**
     * map<string, string> labels = 20;
     */
    @java.lang.Override
    public boolean containsLabels(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetLabels().getMap().containsKey(key);
    }
    /**
     * Use {@link #getLabelsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getLabels() {
      return getLabelsMap();
    }
    /**
     * map<string, string> labels = 20;
     */
    @java.lang.Override
    public java.util.Map getLabelsMap() {
      return internalGetLabels().getMap();
    }
    /**
     * map<string, string> labels = 20;
     */
    @java.lang.Override
    public java.lang.String getLabelsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetLabels().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> labels = 20;
     */
    @java.lang.Override
    public java.lang.String getLabelsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetLabels().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }
    public static final int BACKUP_CONFIG_FIELD_NUMBER = 21;
    private yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig backupConfig_;
    /**
     * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
     * @return Whether the backupConfig field is set.
     */
    @java.lang.Override
    public boolean hasBackupConfig() {
      return backupConfig_ != null;
    }
    /**
     * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
     * @return The backupConfig.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig getBackupConfig() {
      return backupConfig_ == null ? yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.getDefaultInstance() : backupConfig_;
    }
    /**
     * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfigOrBuilder getBackupConfigOrBuilder() {
      return getBackupConfig();
    }
    public static final int DOCUMENT_API_ENDPOINT_FIELD_NUMBER = 22;
    private volatile java.lang.Object documentApiEndpoint_;
    /**
     * string document_api_endpoint = 22;
     * @return The documentApiEndpoint.
     */
    @java.lang.Override
    public java.lang.String getDocumentApiEndpoint() {
      java.lang.Object ref = documentApiEndpoint_;
      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();
        documentApiEndpoint_ = s;
        return s;
      }
    }
    /**
     * string document_api_endpoint = 22;
     * @return The bytes for documentApiEndpoint.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDocumentApiEndpointBytes() {
      java.lang.Object ref = documentApiEndpoint_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        documentApiEndpoint_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int KINESIS_API_ENDPOINT_FIELD_NUMBER = 23;
    private volatile java.lang.Object kinesisApiEndpoint_;
    /**
     * string kinesis_api_endpoint = 23;
     * @return The kinesisApiEndpoint.
     */
    @java.lang.Override
    public java.lang.String getKinesisApiEndpoint() {
      java.lang.Object ref = kinesisApiEndpoint_;
      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();
        kinesisApiEndpoint_ = s;
        return s;
      }
    }
    /**
     * string kinesis_api_endpoint = 23;
     * @return The bytes for kinesisApiEndpoint.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getKinesisApiEndpointBytes() {
      java.lang.Object ref = kinesisApiEndpoint_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        kinesisApiEndpoint_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int KAFKA_API_ENDPOINT_FIELD_NUMBER = 26;
    private volatile java.lang.Object kafkaApiEndpoint_;
    /**
     * string kafka_api_endpoint = 26;
     * @return The kafkaApiEndpoint.
     */
    @java.lang.Override
    public java.lang.String getKafkaApiEndpoint() {
      java.lang.Object ref = kafkaApiEndpoint_;
      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();
        kafkaApiEndpoint_ = s;
        return s;
      }
    }
    /**
     * string kafka_api_endpoint = 26;
     * @return The bytes for kafkaApiEndpoint.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getKafkaApiEndpointBytes() {
      java.lang.Object ref = kafkaApiEndpoint_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        kafkaApiEndpoint_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int MONITORING_CONFIG_FIELD_NUMBER = 24;
    private yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig monitoringConfig_;
    /**
     * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
     * @return Whether the monitoringConfig field is set.
     */
    @java.lang.Override
    public boolean hasMonitoringConfig() {
      return monitoringConfig_ != null;
    }
    /**
     * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
     * @return The monitoringConfig.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig getMonitoringConfig() {
      return monitoringConfig_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.getDefaultInstance() : monitoringConfig_;
    }
    /**
     * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfigOrBuilder getMonitoringConfigOrBuilder() {
      return getMonitoringConfig();
    }
    public static final int DELETION_PROTECTION_FIELD_NUMBER = 25;
    private boolean deletionProtection_;
    /**
     * bool deletion_protection = 25;
     * @return The deletionProtection.
     */
    @java.lang.Override
    public boolean getDeletionProtection() {
      return deletionProtection_;
    }
    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(id_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(folderId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, folderId_);
      }
      if (createdAt_ != null) {
        output.writeMessage(3, getCreatedAt());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, description_);
      }
      if (status_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status.STATUS_UNSPECIFIED.getNumber()) {
        output.writeEnum(6, status_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpoint_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, endpoint_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourcePresetId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, resourcePresetId_);
      }
      if (storageConfig_ != null) {
        output.writeMessage(10, getStorageConfig());
      }
      if (scalePolicy_ != null) {
        output.writeMessage(11, getScalePolicy());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(networkId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 12, networkId_);
      }
      for (int i = 0; i < subnetIds_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 13, subnetIds_.getRaw(i));
      }
      if (databaseTypeCase_ == 14) {
        output.writeMessage(14, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_);
      }
      if (databaseTypeCase_ == 15) {
        output.writeMessage(15, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_);
      }
      if (assignPublicIps_ != false) {
        output.writeBool(16, assignPublicIps_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(locationId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 17, locationId_);
      }
      if (databaseTypeCase_ == 18) {
        output.writeMessage(18, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_);
      }
      if (databaseTypeCase_ == 19) {
        output.writeMessage(19, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetLabels(),
          LabelsDefaultEntryHolder.defaultEntry,
          20);
      if (backupConfig_ != null) {
        output.writeMessage(21, getBackupConfig());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(documentApiEndpoint_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 22, documentApiEndpoint_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kinesisApiEndpoint_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 23, kinesisApiEndpoint_);
      }
      if (monitoringConfig_ != null) {
        output.writeMessage(24, getMonitoringConfig());
      }
      if (deletionProtection_ != false) {
        output.writeBool(25, deletionProtection_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kafkaApiEndpoint_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 26, kafkaApiEndpoint_);
      }
      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(id_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(folderId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, folderId_);
      }
      if (createdAt_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getCreatedAt());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, description_);
      }
      if (status_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status.STATUS_UNSPECIFIED.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(6, status_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpoint_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, endpoint_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourcePresetId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, resourcePresetId_);
      }
      if (storageConfig_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getStorageConfig());
      }
      if (scalePolicy_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getScalePolicy());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(networkId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, networkId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < subnetIds_.size(); i++) {
          dataSize += computeStringSizeNoTag(subnetIds_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSubnetIdsList().size();
      }
      if (databaseTypeCase_ == 14) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_);
      }
      if (databaseTypeCase_ == 15) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(15, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_);
      }
      if (assignPublicIps_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(16, assignPublicIps_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(locationId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, locationId_);
      }
      if (databaseTypeCase_ == 18) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(18, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_);
      }
      if (databaseTypeCase_ == 19) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(19, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_);
      }
      for (java.util.Map.Entry entry
           : internalGetLabels().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        labels__ = LabelsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(20, labels__);
      }
      if (backupConfig_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, getBackupConfig());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(documentApiEndpoint_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(22, documentApiEndpoint_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kinesisApiEndpoint_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(23, kinesisApiEndpoint_);
      }
      if (monitoringConfig_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(24, getMonitoringConfig());
      }
      if (deletionProtection_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(25, deletionProtection_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kafkaApiEndpoint_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(26, kafkaApiEndpoint_);
      }
      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.ydb.v1.DatabaseOuterClass.Database)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database) obj;
      if (!getId()
          .equals(other.getId())) return false;
      if (!getFolderId()
          .equals(other.getFolderId())) return false;
      if (hasCreatedAt() != other.hasCreatedAt()) return false;
      if (hasCreatedAt()) {
        if (!getCreatedAt()
            .equals(other.getCreatedAt())) return false;
      }
      if (!getName()
          .equals(other.getName())) return false;
      if (!getDescription()
          .equals(other.getDescription())) return false;
      if (status_ != other.status_) return false;
      if (!getEndpoint()
          .equals(other.getEndpoint())) return false;
      if (!getResourcePresetId()
          .equals(other.getResourcePresetId())) return false;
      if (hasStorageConfig() != other.hasStorageConfig()) return false;
      if (hasStorageConfig()) {
        if (!getStorageConfig()
            .equals(other.getStorageConfig())) return false;
      }
      if (hasScalePolicy() != other.hasScalePolicy()) return false;
      if (hasScalePolicy()) {
        if (!getScalePolicy()
            .equals(other.getScalePolicy())) return false;
      }
      if (!getNetworkId()
          .equals(other.getNetworkId())) return false;
      if (!getSubnetIdsList()
          .equals(other.getSubnetIdsList())) return false;
      if (getAssignPublicIps()
          != other.getAssignPublicIps()) return false;
      if (!getLocationId()
          .equals(other.getLocationId())) return false;
      if (!internalGetLabels().equals(
          other.internalGetLabels())) return false;
      if (hasBackupConfig() != other.hasBackupConfig()) return false;
      if (hasBackupConfig()) {
        if (!getBackupConfig()
            .equals(other.getBackupConfig())) return false;
      }
      if (!getDocumentApiEndpoint()
          .equals(other.getDocumentApiEndpoint())) return false;
      if (!getKinesisApiEndpoint()
          .equals(other.getKinesisApiEndpoint())) return false;
      if (!getKafkaApiEndpoint()
          .equals(other.getKafkaApiEndpoint())) return false;
      if (hasMonitoringConfig() != other.hasMonitoringConfig()) return false;
      if (hasMonitoringConfig()) {
        if (!getMonitoringConfig()
            .equals(other.getMonitoringConfig())) return false;
      }
      if (getDeletionProtection()
          != other.getDeletionProtection()) return false;
      if (!getDatabaseTypeCase().equals(other.getDatabaseTypeCase())) return false;
      switch (databaseTypeCase_) {
        case 14:
          if (!getZonalDatabase()
              .equals(other.getZonalDatabase())) return false;
          break;
        case 15:
          if (!getRegionalDatabase()
              .equals(other.getRegionalDatabase())) return false;
          break;
        case 18:
          if (!getDedicatedDatabase()
              .equals(other.getDedicatedDatabase())) return false;
          break;
        case 19:
          if (!getServerlessDatabase()
              .equals(other.getServerlessDatabase())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + FOLDER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getFolderId().hashCode();
      if (hasCreatedAt()) {
        hash = (37 * hash) + CREATED_AT_FIELD_NUMBER;
        hash = (53 * hash) + getCreatedAt().hashCode();
      }
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
      hash = (53 * hash) + getDescription().hashCode();
      hash = (37 * hash) + STATUS_FIELD_NUMBER;
      hash = (53 * hash) + status_;
      hash = (37 * hash) + ENDPOINT_FIELD_NUMBER;
      hash = (53 * hash) + getEndpoint().hashCode();
      hash = (37 * hash) + RESOURCE_PRESET_ID_FIELD_NUMBER;
      hash = (53 * hash) + getResourcePresetId().hashCode();
      if (hasStorageConfig()) {
        hash = (37 * hash) + STORAGE_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getStorageConfig().hashCode();
      }
      if (hasScalePolicy()) {
        hash = (37 * hash) + SCALE_POLICY_FIELD_NUMBER;
        hash = (53 * hash) + getScalePolicy().hashCode();
      }
      hash = (37 * hash) + NETWORK_ID_FIELD_NUMBER;
      hash = (53 * hash) + getNetworkId().hashCode();
      if (getSubnetIdsCount() > 0) {
        hash = (37 * hash) + SUBNET_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getSubnetIdsList().hashCode();
      }
      hash = (37 * hash) + ASSIGN_PUBLIC_IPS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getAssignPublicIps());
      hash = (37 * hash) + LOCATION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getLocationId().hashCode();
      if (!internalGetLabels().getMap().isEmpty()) {
        hash = (37 * hash) + LABELS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetLabels().hashCode();
      }
      if (hasBackupConfig()) {
        hash = (37 * hash) + BACKUP_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getBackupConfig().hashCode();
      }
      hash = (37 * hash) + DOCUMENT_API_ENDPOINT_FIELD_NUMBER;
      hash = (53 * hash) + getDocumentApiEndpoint().hashCode();
      hash = (37 * hash) + KINESIS_API_ENDPOINT_FIELD_NUMBER;
      hash = (53 * hash) + getKinesisApiEndpoint().hashCode();
      hash = (37 * hash) + KAFKA_API_ENDPOINT_FIELD_NUMBER;
      hash = (53 * hash) + getKafkaApiEndpoint().hashCode();
      if (hasMonitoringConfig()) {
        hash = (37 * hash) + MONITORING_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getMonitoringConfig().hashCode();
      }
      hash = (37 * hash) + DELETION_PROTECTION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getDeletionProtection());
      switch (databaseTypeCase_) {
        case 14:
          hash = (37 * hash) + ZONAL_DATABASE_FIELD_NUMBER;
          hash = (53 * hash) + getZonalDatabase().hashCode();
          break;
        case 15:
          hash = (37 * hash) + REGIONAL_DATABASE_FIELD_NUMBER;
          hash = (53 * hash) + getRegionalDatabase().hashCode();
          break;
        case 18:
          hash = (37 * hash) + DEDICATED_DATABASE_FIELD_NUMBER;
          hash = (53 * hash) + getDedicatedDatabase().hashCode();
          break;
        case 19:
          hash = (37 * hash) + SERVERLESS_DATABASE_FIELD_NUMBER;
          hash = (53 * hash) + getServerlessDatabase().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database 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.ydb.v1.DatabaseOuterClass.Database parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database 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.ydb.v1.DatabaseOuterClass.Database parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database 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.ydb.v1.DatabaseOuterClass.Database parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database 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.ydb.v1.DatabaseOuterClass.Database parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database 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.ydb.v1.DatabaseOuterClass.Database 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;
    }
    /**
     * 
     * YDB database.
     * 
     *
     * Protobuf type {@code yandex.cloud.ydb.v1.Database}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.Database)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.DatabaseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Database_descriptor;
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 20:
            return internalGetLabels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 20:
            return internalGetMutableLabels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Database_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.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();
        id_ = "";
        folderId_ = "";
        if (createdAtBuilder_ == null) {
          createdAt_ = null;
        } else {
          createdAt_ = null;
          createdAtBuilder_ = null;
        }
        name_ = "";
        description_ = "";
        status_ = 0;
        endpoint_ = "";
        resourcePresetId_ = "";
        if (storageConfigBuilder_ == null) {
          storageConfig_ = null;
        } else {
          storageConfig_ = null;
          storageConfigBuilder_ = null;
        }
        if (scalePolicyBuilder_ == null) {
          scalePolicy_ = null;
        } else {
          scalePolicy_ = null;
          scalePolicyBuilder_ = null;
        }
        networkId_ = "";
        subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        assignPublicIps_ = false;
        locationId_ = "";
        internalGetMutableLabels().clear();
        if (backupConfigBuilder_ == null) {
          backupConfig_ = null;
        } else {
          backupConfig_ = null;
          backupConfigBuilder_ = null;
        }
        documentApiEndpoint_ = "";
        kinesisApiEndpoint_ = "";
        kafkaApiEndpoint_ = "";
        if (monitoringConfigBuilder_ == null) {
          monitoringConfig_ = null;
        } else {
          monitoringConfig_ = null;
          monitoringConfigBuilder_ = null;
        }
        deletionProtection_ = false;
        databaseTypeCase_ = 0;
        databaseType_ = null;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Database_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database(this);
        int from_bitField0_ = bitField0_;
        result.id_ = id_;
        result.folderId_ = folderId_;
        if (createdAtBuilder_ == null) {
          result.createdAt_ = createdAt_;
        } else {
          result.createdAt_ = createdAtBuilder_.build();
        }
        result.name_ = name_;
        result.description_ = description_;
        result.status_ = status_;
        result.endpoint_ = endpoint_;
        result.resourcePresetId_ = resourcePresetId_;
        if (storageConfigBuilder_ == null) {
          result.storageConfig_ = storageConfig_;
        } else {
          result.storageConfig_ = storageConfigBuilder_.build();
        }
        if (scalePolicyBuilder_ == null) {
          result.scalePolicy_ = scalePolicy_;
        } else {
          result.scalePolicy_ = scalePolicyBuilder_.build();
        }
        result.networkId_ = networkId_;
        if (((bitField0_ & 0x00000001) != 0)) {
          subnetIds_ = subnetIds_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.subnetIds_ = subnetIds_;
        if (databaseTypeCase_ == 14) {
          if (zonalDatabaseBuilder_ == null) {
            result.databaseType_ = databaseType_;
          } else {
            result.databaseType_ = zonalDatabaseBuilder_.build();
          }
        }
        if (databaseTypeCase_ == 15) {
          if (regionalDatabaseBuilder_ == null) {
            result.databaseType_ = databaseType_;
          } else {
            result.databaseType_ = regionalDatabaseBuilder_.build();
          }
        }
        if (databaseTypeCase_ == 18) {
          if (dedicatedDatabaseBuilder_ == null) {
            result.databaseType_ = databaseType_;
          } else {
            result.databaseType_ = dedicatedDatabaseBuilder_.build();
          }
        }
        if (databaseTypeCase_ == 19) {
          if (serverlessDatabaseBuilder_ == null) {
            result.databaseType_ = databaseType_;
          } else {
            result.databaseType_ = serverlessDatabaseBuilder_.build();
          }
        }
        result.assignPublicIps_ = assignPublicIps_;
        result.locationId_ = locationId_;
        result.labels_ = internalGetLabels();
        result.labels_.makeImmutable();
        if (backupConfigBuilder_ == null) {
          result.backupConfig_ = backupConfig_;
        } else {
          result.backupConfig_ = backupConfigBuilder_.build();
        }
        result.documentApiEndpoint_ = documentApiEndpoint_;
        result.kinesisApiEndpoint_ = kinesisApiEndpoint_;
        result.kafkaApiEndpoint_ = kafkaApiEndpoint_;
        if (monitoringConfigBuilder_ == null) {
          result.monitoringConfig_ = monitoringConfig_;
        } else {
          result.monitoringConfig_ = monitoringConfigBuilder_.build();
        }
        result.deletionProtection_ = deletionProtection_;
        result.databaseTypeCase_ = databaseTypeCase_;
        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.ydb.v1.DatabaseOuterClass.Database) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (!other.getFolderId().isEmpty()) {
          folderId_ = other.folderId_;
          onChanged();
        }
        if (other.hasCreatedAt()) {
          mergeCreatedAt(other.getCreatedAt());
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (!other.getDescription().isEmpty()) {
          description_ = other.description_;
          onChanged();
        }
        if (other.status_ != 0) {
          setStatusValue(other.getStatusValue());
        }
        if (!other.getEndpoint().isEmpty()) {
          endpoint_ = other.endpoint_;
          onChanged();
        }
        if (!other.getResourcePresetId().isEmpty()) {
          resourcePresetId_ = other.resourcePresetId_;
          onChanged();
        }
        if (other.hasStorageConfig()) {
          mergeStorageConfig(other.getStorageConfig());
        }
        if (other.hasScalePolicy()) {
          mergeScalePolicy(other.getScalePolicy());
        }
        if (!other.getNetworkId().isEmpty()) {
          networkId_ = other.networkId_;
          onChanged();
        }
        if (!other.subnetIds_.isEmpty()) {
          if (subnetIds_.isEmpty()) {
            subnetIds_ = other.subnetIds_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureSubnetIdsIsMutable();
            subnetIds_.addAll(other.subnetIds_);
          }
          onChanged();
        }
        if (other.getAssignPublicIps() != false) {
          setAssignPublicIps(other.getAssignPublicIps());
        }
        if (!other.getLocationId().isEmpty()) {
          locationId_ = other.locationId_;
          onChanged();
        }
        internalGetMutableLabels().mergeFrom(
            other.internalGetLabels());
        if (other.hasBackupConfig()) {
          mergeBackupConfig(other.getBackupConfig());
        }
        if (!other.getDocumentApiEndpoint().isEmpty()) {
          documentApiEndpoint_ = other.documentApiEndpoint_;
          onChanged();
        }
        if (!other.getKinesisApiEndpoint().isEmpty()) {
          kinesisApiEndpoint_ = other.kinesisApiEndpoint_;
          onChanged();
        }
        if (!other.getKafkaApiEndpoint().isEmpty()) {
          kafkaApiEndpoint_ = other.kafkaApiEndpoint_;
          onChanged();
        }
        if (other.hasMonitoringConfig()) {
          mergeMonitoringConfig(other.getMonitoringConfig());
        }
        if (other.getDeletionProtection() != false) {
          setDeletionProtection(other.getDeletionProtection());
        }
        switch (other.getDatabaseTypeCase()) {
          case ZONAL_DATABASE: {
            mergeZonalDatabase(other.getZonalDatabase());
            break;
          }
          case REGIONAL_DATABASE: {
            mergeRegionalDatabase(other.getRegionalDatabase());
            break;
          }
          case DEDICATED_DATABASE: {
            mergeDedicatedDatabase(other.getDedicatedDatabase());
            break;
          }
          case SERVERLESS_DATABASE: {
            mergeServerlessDatabase(other.getServerlessDatabase());
            break;
          }
          case DATABASETYPE_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }
      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int databaseTypeCase_ = 0;
      private java.lang.Object databaseType_;
      public DatabaseTypeCase
          getDatabaseTypeCase() {
        return DatabaseTypeCase.forNumber(
            databaseTypeCase_);
      }
      public Builder clearDatabaseType() {
        databaseTypeCase_ = 0;
        databaseType_ = null;
        onChanged();
        return this;
      }
      private int bitField0_;
      private java.lang.Object id_ = "";
      /**
       * string id = 1;
       * @return The id.
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string id = 1;
       * @return The bytes for id.
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string id = 1;
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object folderId_ = "";
      /**
       * string folder_id = 2;
       * @return The folderId.
       */
      public java.lang.String getFolderId() {
        java.lang.Object ref = folderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          folderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string folder_id = 2;
       * @return The bytes for folderId.
       */
      public com.google.protobuf.ByteString
          getFolderIdBytes() {
        java.lang.Object ref = folderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          folderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string folder_id = 2;
       * @param value The folderId to set.
       * @return This builder for chaining.
       */
      public Builder setFolderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        folderId_ = value;
        onChanged();
        return this;
      }
      /**
       * string folder_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearFolderId() {
        
        folderId_ = getDefaultInstance().getFolderId();
        onChanged();
        return this;
      }
      /**
       * string folder_id = 2;
       * @param value The bytes for folderId to set.
       * @return This builder for chaining.
       */
      public Builder setFolderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        folderId_ = value;
        onChanged();
        return this;
      }
      private com.google.protobuf.Timestamp createdAt_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> createdAtBuilder_;
      /**
       * .google.protobuf.Timestamp created_at = 3;
       * @return Whether the createdAt field is set.
       */
      public boolean hasCreatedAt() {
        return createdAtBuilder_ != null || createdAt_ != null;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       * @return The createdAt.
       */
      public com.google.protobuf.Timestamp getCreatedAt() {
        if (createdAtBuilder_ == null) {
          return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
        } else {
          return createdAtBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder setCreatedAt(com.google.protobuf.Timestamp value) {
        if (createdAtBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          createdAt_ = value;
          onChanged();
        } else {
          createdAtBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder setCreatedAt(
          com.google.protobuf.Timestamp.Builder builderForValue) {
        if (createdAtBuilder_ == null) {
          createdAt_ = builderForValue.build();
          onChanged();
        } else {
          createdAtBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder mergeCreatedAt(com.google.protobuf.Timestamp value) {
        if (createdAtBuilder_ == null) {
          if (createdAt_ != null) {
            createdAt_ =
              com.google.protobuf.Timestamp.newBuilder(createdAt_).mergeFrom(value).buildPartial();
          } else {
            createdAt_ = value;
          }
          onChanged();
        } else {
          createdAtBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder clearCreatedAt() {
        if (createdAtBuilder_ == null) {
          createdAt_ = null;
          onChanged();
        } else {
          createdAt_ = null;
          createdAtBuilder_ = null;
        }
        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.Timestamp.Builder getCreatedAtBuilder() {
        
        onChanged();
        return getCreatedAtFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() {
        if (createdAtBuilder_ != null) {
          return createdAtBuilder_.getMessageOrBuilder();
        } else {
          return createdAt_ == null ?
              com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
        }
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
          getCreatedAtFieldBuilder() {
        if (createdAtBuilder_ == null) {
          createdAtBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                  getCreatedAt(),
                  getParentForChildren(),
                  isClean());
          createdAt_ = null;
        }
        return createdAtBuilder_;
      }
      private java.lang.Object name_ = "";
      /**
       * string name = 4;
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string name = 4;
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string name = 4;
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * string name = 4;
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * string name = 4;
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object description_ = "";
      /**
       * string description = 5;
       * @return The description.
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          description_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string description = 5;
       * @return The bytes for description.
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string description = 5;
       * @param value The description to set.
       * @return This builder for chaining.
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        description_ = value;
        onChanged();
        return this;
      }
      /**
       * string description = 5;
       * @return This builder for chaining.
       */
      public Builder clearDescription() {
        
        description_ = getDefaultInstance().getDescription();
        onChanged();
        return this;
      }
      /**
       * string description = 5;
       * @param value The bytes for description to set.
       * @return This builder for chaining.
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        description_ = value;
        onChanged();
        return this;
      }
      private int status_ = 0;
      /**
       * .yandex.cloud.ydb.v1.Database.Status status = 6;
       * @return The enum numeric value on the wire for status.
       */
      @java.lang.Override public int getStatusValue() {
        return status_;
      }
      /**
       * .yandex.cloud.ydb.v1.Database.Status status = 6;
       * @param value The enum numeric value on the wire for status to set.
       * @return This builder for chaining.
       */
      public Builder setStatusValue(int value) {
        
        status_ = value;
        onChanged();
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.Database.Status status = 6;
       * @return The status.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status getStatus() {
        @SuppressWarnings("deprecation")
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status result = yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status.valueOf(status_);
        return result == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status.UNRECOGNIZED : result;
      }
      /**
       * .yandex.cloud.ydb.v1.Database.Status status = 6;
       * @param value The status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database.Status value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        status_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.Database.Status status = 6;
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        
        status_ = 0;
        onChanged();
        return this;
      }
      private java.lang.Object endpoint_ = "";
      /**
       * string endpoint = 8;
       * @return The endpoint.
       */
      public java.lang.String getEndpoint() {
        java.lang.Object ref = endpoint_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          endpoint_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string endpoint = 8;
       * @return The bytes for endpoint.
       */
      public com.google.protobuf.ByteString
          getEndpointBytes() {
        java.lang.Object ref = endpoint_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          endpoint_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string endpoint = 8;
       * @param value The endpoint to set.
       * @return This builder for chaining.
       */
      public Builder setEndpoint(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        endpoint_ = value;
        onChanged();
        return this;
      }
      /**
       * string endpoint = 8;
       * @return This builder for chaining.
       */
      public Builder clearEndpoint() {
        
        endpoint_ = getDefaultInstance().getEndpoint();
        onChanged();
        return this;
      }
      /**
       * string endpoint = 8;
       * @param value The bytes for endpoint to set.
       * @return This builder for chaining.
       */
      public Builder setEndpointBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        endpoint_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object resourcePresetId_ = "";
      /**
       * string resource_preset_id = 9;
       * @return The resourcePresetId.
       */
      public java.lang.String getResourcePresetId() {
        java.lang.Object ref = resourcePresetId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          resourcePresetId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string resource_preset_id = 9;
       * @return The bytes for resourcePresetId.
       */
      public com.google.protobuf.ByteString
          getResourcePresetIdBytes() {
        java.lang.Object ref = resourcePresetId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          resourcePresetId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string resource_preset_id = 9;
       * @param value The resourcePresetId to set.
       * @return This builder for chaining.
       */
      public Builder setResourcePresetId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        resourcePresetId_ = value;
        onChanged();
        return this;
      }
      /**
       * string resource_preset_id = 9;
       * @return This builder for chaining.
       */
      public Builder clearResourcePresetId() {
        
        resourcePresetId_ = getDefaultInstance().getResourcePresetId();
        onChanged();
        return this;
      }
      /**
       * string resource_preset_id = 9;
       * @param value The bytes for resourcePresetId to set.
       * @return This builder for chaining.
       */
      public Builder setResourcePresetIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        resourcePresetId_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig storageConfig_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder> storageConfigBuilder_;
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       * @return Whether the storageConfig field is set.
       */
      public boolean hasStorageConfig() {
        return storageConfigBuilder_ != null || storageConfig_ != null;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       * @return The storageConfig.
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getStorageConfig() {
        if (storageConfigBuilder_ == null) {
          return storageConfig_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance() : storageConfig_;
        } else {
          return storageConfigBuilder_.getMessage();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       */
      public Builder setStorageConfig(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig value) {
        if (storageConfigBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          storageConfig_ = value;
          onChanged();
        } else {
          storageConfigBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       */
      public Builder setStorageConfig(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder builderForValue) {
        if (storageConfigBuilder_ == null) {
          storageConfig_ = builderForValue.build();
          onChanged();
        } else {
          storageConfigBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       */
      public Builder mergeStorageConfig(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig value) {
        if (storageConfigBuilder_ == null) {
          if (storageConfig_ != null) {
            storageConfig_ =
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.newBuilder(storageConfig_).mergeFrom(value).buildPartial();
          } else {
            storageConfig_ = value;
          }
          onChanged();
        } else {
          storageConfigBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       */
      public Builder clearStorageConfig() {
        if (storageConfigBuilder_ == null) {
          storageConfig_ = null;
          onChanged();
        } else {
          storageConfig_ = null;
          storageConfigBuilder_ = null;
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder getStorageConfigBuilder() {
        
        onChanged();
        return getStorageConfigFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder getStorageConfigOrBuilder() {
        if (storageConfigBuilder_ != null) {
          return storageConfigBuilder_.getMessageOrBuilder();
        } else {
          return storageConfig_ == null ?
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance() : storageConfig_;
        }
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 10;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder> 
          getStorageConfigFieldBuilder() {
        if (storageConfigBuilder_ == null) {
          storageConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder>(
                  getStorageConfig(),
                  getParentForChildren(),
                  isClean());
          storageConfig_ = null;
        }
        return storageConfigBuilder_;
      }
      private yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy scalePolicy_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder> scalePolicyBuilder_;
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       * @return Whether the scalePolicy field is set.
       */
      public boolean hasScalePolicy() {
        return scalePolicyBuilder_ != null || scalePolicy_ != null;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       * @return The scalePolicy.
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getScalePolicy() {
        if (scalePolicyBuilder_ == null) {
          return scalePolicy_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance() : scalePolicy_;
        } else {
          return scalePolicyBuilder_.getMessage();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       */
      public Builder setScalePolicy(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy value) {
        if (scalePolicyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scalePolicy_ = value;
          onChanged();
        } else {
          scalePolicyBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       */
      public Builder setScalePolicy(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder builderForValue) {
        if (scalePolicyBuilder_ == null) {
          scalePolicy_ = builderForValue.build();
          onChanged();
        } else {
          scalePolicyBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       */
      public Builder mergeScalePolicy(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy value) {
        if (scalePolicyBuilder_ == null) {
          if (scalePolicy_ != null) {
            scalePolicy_ =
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.newBuilder(scalePolicy_).mergeFrom(value).buildPartial();
          } else {
            scalePolicy_ = value;
          }
          onChanged();
        } else {
          scalePolicyBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       */
      public Builder clearScalePolicy() {
        if (scalePolicyBuilder_ == null) {
          scalePolicy_ = null;
          onChanged();
        } else {
          scalePolicy_ = null;
          scalePolicyBuilder_ = null;
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder getScalePolicyBuilder() {
        
        onChanged();
        return getScalePolicyFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder getScalePolicyOrBuilder() {
        if (scalePolicyBuilder_ != null) {
          return scalePolicyBuilder_.getMessageOrBuilder();
        } else {
          return scalePolicy_ == null ?
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance() : scalePolicy_;
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 11;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder> 
          getScalePolicyFieldBuilder() {
        if (scalePolicyBuilder_ == null) {
          scalePolicyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder>(
                  getScalePolicy(),
                  getParentForChildren(),
                  isClean());
          scalePolicy_ = null;
        }
        return scalePolicyBuilder_;
      }
      private java.lang.Object networkId_ = "";
      /**
       * string network_id = 12;
       * @return The networkId.
       */
      public java.lang.String getNetworkId() {
        java.lang.Object ref = networkId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          networkId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string network_id = 12;
       * @return The bytes for networkId.
       */
      public com.google.protobuf.ByteString
          getNetworkIdBytes() {
        java.lang.Object ref = networkId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          networkId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string network_id = 12;
       * @param value The networkId to set.
       * @return This builder for chaining.
       */
      public Builder setNetworkId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        networkId_ = value;
        onChanged();
        return this;
      }
      /**
       * string network_id = 12;
       * @return This builder for chaining.
       */
      public Builder clearNetworkId() {
        
        networkId_ = getDefaultInstance().getNetworkId();
        onChanged();
        return this;
      }
      /**
       * string network_id = 12;
       * @param value The bytes for networkId to set.
       * @return This builder for chaining.
       */
      public Builder setNetworkIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        networkId_ = value;
        onChanged();
        return this;
      }
      private com.google.protobuf.LazyStringList subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSubnetIdsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          subnetIds_ = new com.google.protobuf.LazyStringArrayList(subnetIds_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated string subnet_ids = 13;
       * @return A list containing the subnetIds.
       */
      public com.google.protobuf.ProtocolStringList
          getSubnetIdsList() {
        return subnetIds_.getUnmodifiableView();
      }
      /**
       * repeated string subnet_ids = 13;
       * @return The count of subnetIds.
       */
      public int getSubnetIdsCount() {
        return subnetIds_.size();
      }
      /**
       * repeated string subnet_ids = 13;
       * @param index The index of the element to return.
       * @return The subnetIds at the given index.
       */
      public java.lang.String getSubnetIds(int index) {
        return subnetIds_.get(index);
      }
      /**
       * repeated string subnet_ids = 13;
       * @param index The index of the value to return.
       * @return The bytes of the subnetIds at the given index.
       */
      public com.google.protobuf.ByteString
          getSubnetIdsBytes(int index) {
        return subnetIds_.getByteString(index);
      }
      /**
       * repeated string subnet_ids = 13;
       * @param index The index to set the value at.
       * @param value The subnetIds to set.
       * @return This builder for chaining.
       */
      public Builder setSubnetIds(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSubnetIdsIsMutable();
        subnetIds_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 13;
       * @param value The subnetIds to add.
       * @return This builder for chaining.
       */
      public Builder addSubnetIds(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSubnetIdsIsMutable();
        subnetIds_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 13;
       * @param values The subnetIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllSubnetIds(
          java.lang.Iterable values) {
        ensureSubnetIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, subnetIds_);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 13;
       * @return This builder for chaining.
       */
      public Builder clearSubnetIds() {
        subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 13;
       * @param value The bytes of the subnetIds to add.
       * @return This builder for chaining.
       */
      public Builder addSubnetIdsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSubnetIdsIsMutable();
        subnetIds_.add(value);
        onChanged();
        return this;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabaseOrBuilder> zonalDatabaseBuilder_;
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       * @return Whether the zonalDatabase field is set.
       */
      @java.lang.Override
      public boolean hasZonalDatabase() {
        return databaseTypeCase_ == 14;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       * @return The zonalDatabase.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase getZonalDatabase() {
        if (zonalDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 14) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance();
        } else {
          if (databaseTypeCase_ == 14) {
            return zonalDatabaseBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance();
        }
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       */
      public Builder setZonalDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase value) {
        if (zonalDatabaseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          databaseType_ = value;
          onChanged();
        } else {
          zonalDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 14;
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       */
      public Builder setZonalDatabase(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder builderForValue) {
        if (zonalDatabaseBuilder_ == null) {
          databaseType_ = builderForValue.build();
          onChanged();
        } else {
          zonalDatabaseBuilder_.setMessage(builderForValue.build());
        }
        databaseTypeCase_ = 14;
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       */
      public Builder mergeZonalDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase value) {
        if (zonalDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 14 &&
              databaseType_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance()) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_)
                .mergeFrom(value).buildPartial();
          } else {
            databaseType_ = value;
          }
          onChanged();
        } else {
          if (databaseTypeCase_ == 14) {
            zonalDatabaseBuilder_.mergeFrom(value);
          }
          zonalDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 14;
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       */
      public Builder clearZonalDatabase() {
        if (zonalDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 14) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
            onChanged();
          }
        } else {
          if (databaseTypeCase_ == 14) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
          }
          zonalDatabaseBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder getZonalDatabaseBuilder() {
        return getZonalDatabaseFieldBuilder().getBuilder();
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabaseOrBuilder getZonalDatabaseOrBuilder() {
        if ((databaseTypeCase_ == 14) && (zonalDatabaseBuilder_ != null)) {
          return zonalDatabaseBuilder_.getMessageOrBuilder();
        } else {
          if (databaseTypeCase_ == 14) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance();
        }
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.ZonalDatabase zonal_database = 14;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabaseOrBuilder> 
          getZonalDatabaseFieldBuilder() {
        if (zonalDatabaseBuilder_ == null) {
          if (!(databaseTypeCase_ == 14)) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance();
          }
          zonalDatabaseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabaseOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) databaseType_,
                  getParentForChildren(),
                  isClean());
          databaseType_ = null;
        }
        databaseTypeCase_ = 14;
        onChanged();;
        return zonalDatabaseBuilder_;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabaseOrBuilder> regionalDatabaseBuilder_;
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       * @return Whether the regionalDatabase field is set.
       */
      @java.lang.Override
      public boolean hasRegionalDatabase() {
        return databaseTypeCase_ == 15;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       * @return The regionalDatabase.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase getRegionalDatabase() {
        if (regionalDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 15) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance();
        } else {
          if (databaseTypeCase_ == 15) {
            return regionalDatabaseBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance();
        }
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       */
      public Builder setRegionalDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase value) {
        if (regionalDatabaseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          databaseType_ = value;
          onChanged();
        } else {
          regionalDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 15;
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       */
      public Builder setRegionalDatabase(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder builderForValue) {
        if (regionalDatabaseBuilder_ == null) {
          databaseType_ = builderForValue.build();
          onChanged();
        } else {
          regionalDatabaseBuilder_.setMessage(builderForValue.build());
        }
        databaseTypeCase_ = 15;
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       */
      public Builder mergeRegionalDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase value) {
        if (regionalDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 15 &&
              databaseType_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance()) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_)
                .mergeFrom(value).buildPartial();
          } else {
            databaseType_ = value;
          }
          onChanged();
        } else {
          if (databaseTypeCase_ == 15) {
            regionalDatabaseBuilder_.mergeFrom(value);
          }
          regionalDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 15;
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       */
      public Builder clearRegionalDatabase() {
        if (regionalDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 15) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
            onChanged();
          }
        } else {
          if (databaseTypeCase_ == 15) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
          }
          regionalDatabaseBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder getRegionalDatabaseBuilder() {
        return getRegionalDatabaseFieldBuilder().getBuilder();
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabaseOrBuilder getRegionalDatabaseOrBuilder() {
        if ((databaseTypeCase_ == 15) && (regionalDatabaseBuilder_ != null)) {
          return regionalDatabaseBuilder_.getMessageOrBuilder();
        } else {
          if (databaseTypeCase_ == 15) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance();
        }
      }
      /**
       * 
       * deprecated field
       * 
       *
       * .yandex.cloud.ydb.v1.RegionalDatabase regional_database = 15;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabaseOrBuilder> 
          getRegionalDatabaseFieldBuilder() {
        if (regionalDatabaseBuilder_ == null) {
          if (!(databaseTypeCase_ == 15)) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance();
          }
          regionalDatabaseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabaseOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) databaseType_,
                  getParentForChildren(),
                  isClean());
          databaseType_ = null;
        }
        databaseTypeCase_ = 15;
        onChanged();;
        return regionalDatabaseBuilder_;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabaseOrBuilder> dedicatedDatabaseBuilder_;
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       * @return Whether the dedicatedDatabase field is set.
       */
      @java.lang.Override
      public boolean hasDedicatedDatabase() {
        return databaseTypeCase_ == 18;
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       * @return The dedicatedDatabase.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase getDedicatedDatabase() {
        if (dedicatedDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 18) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance();
        } else {
          if (databaseTypeCase_ == 18) {
            return dedicatedDatabaseBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       */
      public Builder setDedicatedDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase value) {
        if (dedicatedDatabaseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          databaseType_ = value;
          onChanged();
        } else {
          dedicatedDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 18;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       */
      public Builder setDedicatedDatabase(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder builderForValue) {
        if (dedicatedDatabaseBuilder_ == null) {
          databaseType_ = builderForValue.build();
          onChanged();
        } else {
          dedicatedDatabaseBuilder_.setMessage(builderForValue.build());
        }
        databaseTypeCase_ = 18;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       */
      public Builder mergeDedicatedDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase value) {
        if (dedicatedDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 18 &&
              databaseType_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance()) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_)
                .mergeFrom(value).buildPartial();
          } else {
            databaseType_ = value;
          }
          onChanged();
        } else {
          if (databaseTypeCase_ == 18) {
            dedicatedDatabaseBuilder_.mergeFrom(value);
          }
          dedicatedDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 18;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       */
      public Builder clearDedicatedDatabase() {
        if (dedicatedDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 18) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
            onChanged();
          }
        } else {
          if (databaseTypeCase_ == 18) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
          }
          dedicatedDatabaseBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder getDedicatedDatabaseBuilder() {
        return getDedicatedDatabaseFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabaseOrBuilder getDedicatedDatabaseOrBuilder() {
        if ((databaseTypeCase_ == 18) && (dedicatedDatabaseBuilder_ != null)) {
          return dedicatedDatabaseBuilder_.getMessageOrBuilder();
        } else {
          if (databaseTypeCase_ == 18) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.DedicatedDatabase dedicated_database = 18;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabaseOrBuilder> 
          getDedicatedDatabaseFieldBuilder() {
        if (dedicatedDatabaseBuilder_ == null) {
          if (!(databaseTypeCase_ == 18)) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance();
          }
          dedicatedDatabaseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabaseOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) databaseType_,
                  getParentForChildren(),
                  isClean());
          databaseType_ = null;
        }
        databaseTypeCase_ = 18;
        onChanged();;
        return dedicatedDatabaseBuilder_;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabaseOrBuilder> serverlessDatabaseBuilder_;
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       * @return Whether the serverlessDatabase field is set.
       */
      @java.lang.Override
      public boolean hasServerlessDatabase() {
        return databaseTypeCase_ == 19;
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       * @return The serverlessDatabase.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase getServerlessDatabase() {
        if (serverlessDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 19) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance();
        } else {
          if (databaseTypeCase_ == 19) {
            return serverlessDatabaseBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       */
      public Builder setServerlessDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase value) {
        if (serverlessDatabaseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          databaseType_ = value;
          onChanged();
        } else {
          serverlessDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 19;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       */
      public Builder setServerlessDatabase(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder builderForValue) {
        if (serverlessDatabaseBuilder_ == null) {
          databaseType_ = builderForValue.build();
          onChanged();
        } else {
          serverlessDatabaseBuilder_.setMessage(builderForValue.build());
        }
        databaseTypeCase_ = 19;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       */
      public Builder mergeServerlessDatabase(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase value) {
        if (serverlessDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 19 &&
              databaseType_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance()) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_)
                .mergeFrom(value).buildPartial();
          } else {
            databaseType_ = value;
          }
          onChanged();
        } else {
          if (databaseTypeCase_ == 19) {
            serverlessDatabaseBuilder_.mergeFrom(value);
          }
          serverlessDatabaseBuilder_.setMessage(value);
        }
        databaseTypeCase_ = 19;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       */
      public Builder clearServerlessDatabase() {
        if (serverlessDatabaseBuilder_ == null) {
          if (databaseTypeCase_ == 19) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
            onChanged();
          }
        } else {
          if (databaseTypeCase_ == 19) {
            databaseTypeCase_ = 0;
            databaseType_ = null;
          }
          serverlessDatabaseBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder getServerlessDatabaseBuilder() {
        return getServerlessDatabaseFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabaseOrBuilder getServerlessDatabaseOrBuilder() {
        if ((databaseTypeCase_ == 19) && (serverlessDatabaseBuilder_ != null)) {
          return serverlessDatabaseBuilder_.getMessageOrBuilder();
        } else {
          if (databaseTypeCase_ == 19) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ServerlessDatabase serverless_database = 19;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabaseOrBuilder> 
          getServerlessDatabaseFieldBuilder() {
        if (serverlessDatabaseBuilder_ == null) {
          if (!(databaseTypeCase_ == 19)) {
            databaseType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance();
          }
          serverlessDatabaseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabaseOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) databaseType_,
                  getParentForChildren(),
                  isClean());
          databaseType_ = null;
        }
        databaseTypeCase_ = 19;
        onChanged();;
        return serverlessDatabaseBuilder_;
      }
      private boolean assignPublicIps_ ;
      /**
       * bool assign_public_ips = 16;
       * @return The assignPublicIps.
       */
      @java.lang.Override
      public boolean getAssignPublicIps() {
        return assignPublicIps_;
      }
      /**
       * bool assign_public_ips = 16;
       * @param value The assignPublicIps to set.
       * @return This builder for chaining.
       */
      public Builder setAssignPublicIps(boolean value) {
        
        assignPublicIps_ = value;
        onChanged();
        return this;
      }
      /**
       * bool assign_public_ips = 16;
       * @return This builder for chaining.
       */
      public Builder clearAssignPublicIps() {
        
        assignPublicIps_ = false;
        onChanged();
        return this;
      }
      private java.lang.Object locationId_ = "";
      /**
       * string location_id = 17;
       * @return The locationId.
       */
      public java.lang.String getLocationId() {
        java.lang.Object ref = locationId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          locationId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string location_id = 17;
       * @return The bytes for locationId.
       */
      public com.google.protobuf.ByteString
          getLocationIdBytes() {
        java.lang.Object ref = locationId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          locationId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string location_id = 17;
       * @param value The locationId to set.
       * @return This builder for chaining.
       */
      public Builder setLocationId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        locationId_ = value;
        onChanged();
        return this;
      }
      /**
       * string location_id = 17;
       * @return This builder for chaining.
       */
      public Builder clearLocationId() {
        
        locationId_ = getDefaultInstance().getLocationId();
        onChanged();
        return this;
      }
      /**
       * string location_id = 17;
       * @param value The bytes for locationId to set.
       * @return This builder for chaining.
       */
      public Builder setLocationIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        locationId_ = value;
        onChanged();
        return this;
      }
      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> labels_;
      private com.google.protobuf.MapField
      internalGetLabels() {
        if (labels_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              LabelsDefaultEntryHolder.defaultEntry);
        }
        return labels_;
      }
      private com.google.protobuf.MapField
      internalGetMutableLabels() {
        onChanged();;
        if (labels_ == null) {
          labels_ = com.google.protobuf.MapField.newMapField(
              LabelsDefaultEntryHolder.defaultEntry);
        }
        if (!labels_.isMutable()) {
          labels_ = labels_.copy();
        }
        return labels_;
      }
      public int getLabelsCount() {
        return internalGetLabels().getMap().size();
      }
      /**
       * map<string, string> labels = 20;
       */
      @java.lang.Override
      public boolean containsLabels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetLabels().getMap().containsKey(key);
      }
      /**
       * Use {@link #getLabelsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getLabels() {
        return getLabelsMap();
      }
      /**
       * map<string, string> labels = 20;
       */
      @java.lang.Override
      public java.util.Map getLabelsMap() {
        return internalGetLabels().getMap();
      }
      /**
       * map<string, string> labels = 20;
       */
      @java.lang.Override
      public java.lang.String getLabelsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map map =
            internalGetLabels().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> labels = 20;
       */
      @java.lang.Override
      public java.lang.String getLabelsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map map =
            internalGetLabels().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }
      public Builder clearLabels() {
        internalGetMutableLabels().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> labels = 20;
       */
      public Builder removeLabels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableLabels().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableLabels() {
        return internalGetMutableLabels().getMutableMap();
      }
      /**
       * map<string, string> labels = 20;
       */
      public Builder putLabels(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}
        internalGetMutableLabels().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> labels = 20;
       */
      public Builder putAllLabels(
          java.util.Map values) {
        internalGetMutableLabels().getMutableMap()
            .putAll(values);
        return this;
      }
      private yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig backupConfig_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig, yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.Builder, yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfigOrBuilder> backupConfigBuilder_;
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       * @return Whether the backupConfig field is set.
       */
      public boolean hasBackupConfig() {
        return backupConfigBuilder_ != null || backupConfig_ != null;
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       * @return The backupConfig.
       */
      public yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig getBackupConfig() {
        if (backupConfigBuilder_ == null) {
          return backupConfig_ == null ? yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.getDefaultInstance() : backupConfig_;
        } else {
          return backupConfigBuilder_.getMessage();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       */
      public Builder setBackupConfig(yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig value) {
        if (backupConfigBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          backupConfig_ = value;
          onChanged();
        } else {
          backupConfigBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       */
      public Builder setBackupConfig(
          yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.Builder builderForValue) {
        if (backupConfigBuilder_ == null) {
          backupConfig_ = builderForValue.build();
          onChanged();
        } else {
          backupConfigBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       */
      public Builder mergeBackupConfig(yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig value) {
        if (backupConfigBuilder_ == null) {
          if (backupConfig_ != null) {
            backupConfig_ =
              yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.newBuilder(backupConfig_).mergeFrom(value).buildPartial();
          } else {
            backupConfig_ = value;
          }
          onChanged();
        } else {
          backupConfigBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       */
      public Builder clearBackupConfig() {
        if (backupConfigBuilder_ == null) {
          backupConfig_ = null;
          onChanged();
        } else {
          backupConfig_ = null;
          backupConfigBuilder_ = null;
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       */
      public yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.Builder getBackupConfigBuilder() {
        
        onChanged();
        return getBackupConfigFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       */
      public yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfigOrBuilder getBackupConfigOrBuilder() {
        if (backupConfigBuilder_ != null) {
          return backupConfigBuilder_.getMessageOrBuilder();
        } else {
          return backupConfig_ == null ?
              yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.getDefaultInstance() : backupConfig_;
        }
      }
      /**
       * .yandex.cloud.ydb.v1.BackupConfig backup_config = 21;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig, yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.Builder, yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfigOrBuilder> 
          getBackupConfigFieldBuilder() {
        if (backupConfigBuilder_ == null) {
          backupConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig, yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfig.Builder, yandex.cloud.api.ydb.v1.BackupOuterClass.BackupConfigOrBuilder>(
                  getBackupConfig(),
                  getParentForChildren(),
                  isClean());
          backupConfig_ = null;
        }
        return backupConfigBuilder_;
      }
      private java.lang.Object documentApiEndpoint_ = "";
      /**
       * string document_api_endpoint = 22;
       * @return The documentApiEndpoint.
       */
      public java.lang.String getDocumentApiEndpoint() {
        java.lang.Object ref = documentApiEndpoint_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          documentApiEndpoint_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string document_api_endpoint = 22;
       * @return The bytes for documentApiEndpoint.
       */
      public com.google.protobuf.ByteString
          getDocumentApiEndpointBytes() {
        java.lang.Object ref = documentApiEndpoint_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          documentApiEndpoint_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string document_api_endpoint = 22;
       * @param value The documentApiEndpoint to set.
       * @return This builder for chaining.
       */
      public Builder setDocumentApiEndpoint(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        documentApiEndpoint_ = value;
        onChanged();
        return this;
      }
      /**
       * string document_api_endpoint = 22;
       * @return This builder for chaining.
       */
      public Builder clearDocumentApiEndpoint() {
        
        documentApiEndpoint_ = getDefaultInstance().getDocumentApiEndpoint();
        onChanged();
        return this;
      }
      /**
       * string document_api_endpoint = 22;
       * @param value The bytes for documentApiEndpoint to set.
       * @return This builder for chaining.
       */
      public Builder setDocumentApiEndpointBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        documentApiEndpoint_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object kinesisApiEndpoint_ = "";
      /**
       * string kinesis_api_endpoint = 23;
       * @return The kinesisApiEndpoint.
       */
      public java.lang.String getKinesisApiEndpoint() {
        java.lang.Object ref = kinesisApiEndpoint_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          kinesisApiEndpoint_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string kinesis_api_endpoint = 23;
       * @return The bytes for kinesisApiEndpoint.
       */
      public com.google.protobuf.ByteString
          getKinesisApiEndpointBytes() {
        java.lang.Object ref = kinesisApiEndpoint_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          kinesisApiEndpoint_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string kinesis_api_endpoint = 23;
       * @param value The kinesisApiEndpoint to set.
       * @return This builder for chaining.
       */
      public Builder setKinesisApiEndpoint(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        kinesisApiEndpoint_ = value;
        onChanged();
        return this;
      }
      /**
       * string kinesis_api_endpoint = 23;
       * @return This builder for chaining.
       */
      public Builder clearKinesisApiEndpoint() {
        
        kinesisApiEndpoint_ = getDefaultInstance().getKinesisApiEndpoint();
        onChanged();
        return this;
      }
      /**
       * string kinesis_api_endpoint = 23;
       * @param value The bytes for kinesisApiEndpoint to set.
       * @return This builder for chaining.
       */
      public Builder setKinesisApiEndpointBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        kinesisApiEndpoint_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object kafkaApiEndpoint_ = "";
      /**
       * string kafka_api_endpoint = 26;
       * @return The kafkaApiEndpoint.
       */
      public java.lang.String getKafkaApiEndpoint() {
        java.lang.Object ref = kafkaApiEndpoint_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          kafkaApiEndpoint_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string kafka_api_endpoint = 26;
       * @return The bytes for kafkaApiEndpoint.
       */
      public com.google.protobuf.ByteString
          getKafkaApiEndpointBytes() {
        java.lang.Object ref = kafkaApiEndpoint_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          kafkaApiEndpoint_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string kafka_api_endpoint = 26;
       * @param value The kafkaApiEndpoint to set.
       * @return This builder for chaining.
       */
      public Builder setKafkaApiEndpoint(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        kafkaApiEndpoint_ = value;
        onChanged();
        return this;
      }
      /**
       * string kafka_api_endpoint = 26;
       * @return This builder for chaining.
       */
      public Builder clearKafkaApiEndpoint() {
        
        kafkaApiEndpoint_ = getDefaultInstance().getKafkaApiEndpoint();
        onChanged();
        return this;
      }
      /**
       * string kafka_api_endpoint = 26;
       * @param value The bytes for kafkaApiEndpoint to set.
       * @return This builder for chaining.
       */
      public Builder setKafkaApiEndpointBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        kafkaApiEndpoint_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig monitoringConfig_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfigOrBuilder> monitoringConfigBuilder_;
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       * @return Whether the monitoringConfig field is set.
       */
      public boolean hasMonitoringConfig() {
        return monitoringConfigBuilder_ != null || monitoringConfig_ != null;
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       * @return The monitoringConfig.
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig getMonitoringConfig() {
        if (monitoringConfigBuilder_ == null) {
          return monitoringConfig_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.getDefaultInstance() : monitoringConfig_;
        } else {
          return monitoringConfigBuilder_.getMessage();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       */
      public Builder setMonitoringConfig(yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig value) {
        if (monitoringConfigBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          monitoringConfig_ = value;
          onChanged();
        } else {
          monitoringConfigBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       */
      public Builder setMonitoringConfig(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder builderForValue) {
        if (monitoringConfigBuilder_ == null) {
          monitoringConfig_ = builderForValue.build();
          onChanged();
        } else {
          monitoringConfigBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       */
      public Builder mergeMonitoringConfig(yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig value) {
        if (monitoringConfigBuilder_ == null) {
          if (monitoringConfig_ != null) {
            monitoringConfig_ =
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.newBuilder(monitoringConfig_).mergeFrom(value).buildPartial();
          } else {
            monitoringConfig_ = value;
          }
          onChanged();
        } else {
          monitoringConfigBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       */
      public Builder clearMonitoringConfig() {
        if (monitoringConfigBuilder_ == null) {
          monitoringConfig_ = null;
          onChanged();
        } else {
          monitoringConfig_ = null;
          monitoringConfigBuilder_ = null;
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder getMonitoringConfigBuilder() {
        
        onChanged();
        return getMonitoringConfigFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfigOrBuilder getMonitoringConfigOrBuilder() {
        if (monitoringConfigBuilder_ != null) {
          return monitoringConfigBuilder_.getMessageOrBuilder();
        } else {
          return monitoringConfig_ == null ?
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.getDefaultInstance() : monitoringConfig_;
        }
      }
      /**
       * .yandex.cloud.ydb.v1.MonitoringConfig monitoring_config = 24;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfigOrBuilder> 
          getMonitoringConfigFieldBuilder() {
        if (monitoringConfigBuilder_ == null) {
          monitoringConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfigOrBuilder>(
                  getMonitoringConfig(),
                  getParentForChildren(),
                  isClean());
          monitoringConfig_ = null;
        }
        return monitoringConfigBuilder_;
      }
      private boolean deletionProtection_ ;
      /**
       * bool deletion_protection = 25;
       * @return The deletionProtection.
       */
      @java.lang.Override
      public boolean getDeletionProtection() {
        return deletionProtection_;
      }
      /**
       * bool deletion_protection = 25;
       * @param value The deletionProtection to set.
       * @return This builder for chaining.
       */
      public Builder setDeletionProtection(boolean value) {
        
        deletionProtection_ = value;
        onChanged();
        return this;
      }
      /**
       * bool deletion_protection = 25;
       * @return This builder for chaining.
       */
      public Builder clearDeletionProtection() {
        
        deletionProtection_ = 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.ydb.v1.Database)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.Database)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Database getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Database parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Database(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.ydb.v1.DatabaseOuterClass.Database getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface AlertParameterOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.AlertParameter)
      com.google.protobuf.MessageOrBuilder {
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
     * @return Whether the doubleParameterValue field is set.
     */
    boolean hasDoubleParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
     * @return The doubleParameterValue.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue getDoubleParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValueOrBuilder getDoubleParameterValueOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
     * @return Whether the integerParameterValue field is set.
     */
    boolean hasIntegerParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
     * @return The integerParameterValue.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue getIntegerParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValueOrBuilder getIntegerParameterValueOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
     * @return Whether the textParameterValue field is set.
     */
    boolean hasTextParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
     * @return The textParameterValue.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue getTextParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValueOrBuilder getTextParameterValueOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
     * @return Whether the textListParameterValue field is set.
     */
    boolean hasTextListParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
     * @return The textListParameterValue.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue getTextListParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValueOrBuilder getTextListParameterValueOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
     * @return Whether the labelListParameterValue field is set.
     */
    boolean hasLabelListParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
     * @return The labelListParameterValue.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue getLabelListParameterValue();
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValueOrBuilder getLabelListParameterValueOrBuilder();
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.ParameterCase getParameterCase();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.AlertParameter}
   */
  public static final class AlertParameter extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.AlertParameter)
      AlertParameterOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AlertParameter.newBuilder() to construct.
    private AlertParameter(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private AlertParameter() {
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new AlertParameter();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AlertParameter(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder subBuilder = null;
              if (parameterCase_ == 1) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_).toBuilder();
              }
              parameter_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_);
                parameter_ = subBuilder.buildPartial();
              }
              parameterCase_ = 1;
              break;
            }
            case 18: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder subBuilder = null;
              if (parameterCase_ == 2) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_).toBuilder();
              }
              parameter_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_);
                parameter_ = subBuilder.buildPartial();
              }
              parameterCase_ = 2;
              break;
            }
            case 26: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder subBuilder = null;
              if (parameterCase_ == 3) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_).toBuilder();
              }
              parameter_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_);
                parameter_ = subBuilder.buildPartial();
              }
              parameterCase_ = 3;
              break;
            }
            case 34: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder subBuilder = null;
              if (parameterCase_ == 4) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_).toBuilder();
              }
              parameter_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_);
                parameter_ = subBuilder.buildPartial();
              }
              parameterCase_ = 4;
              break;
            }
            case 42: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder subBuilder = null;
              if (parameterCase_ == 5) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_).toBuilder();
              }
              parameter_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_);
                parameter_ = subBuilder.buildPartial();
              }
              parameterCase_ = 5;
              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 {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder.class);
    }
    public interface DoubleParameterValueOrBuilder extends
        // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue)
        com.google.protobuf.MessageOrBuilder {
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * double value = 2;
       * @return The value.
       */
      double getValue();
    }
    /**
     * Protobuf type {@code yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue}
     */
    public static final class DoubleParameterValue extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue)
        DoubleParameterValueOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use DoubleParameterValue.newBuilder() to construct.
      private DoubleParameterValue(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
        super(builder);
      }
      private DoubleParameterValue() {
        name_ = "";
      }
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new DoubleParameterValue();
      }
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private DoubleParameterValue(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();
                name_ = s;
                break;
              }
              case 17: {
                value_ = input.readDouble();
                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 {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder.class);
      }
      public static final int NAME_FIELD_NUMBER = 1;
      private volatile java.lang.Object name_;
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        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();
          name_ = s;
          return s;
        }
      }
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      public static final int VALUE_FIELD_NUMBER = 2;
      private double value_;
      /**
       * 
       * Required. Parameter value
       * 
       *
       * double value = 2;
       * @return The value.
       */
      @java.lang.Override
      public double getValue() {
        return value_;
      }
      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(name_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
        }
        if (java.lang.Double.doubleToRawLongBits(value_) != 0) {
          output.writeDouble(2, value_);
        }
        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(name_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
        }
        if (java.lang.Double.doubleToRawLongBits(value_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(2, value_);
        }
        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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue)) {
          return super.equals(obj);
        }
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) obj;
        if (!getName()
            .equals(other.getName())) return false;
        if (java.lang.Double.doubleToLongBits(getValue())
            != java.lang.Double.doubleToLongBits(
                other.getValue())) 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) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getValue()));
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue 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.ydb.v1.AlertParameter.DoubleParameterValue}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue)
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValueOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_descriptor;
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder.class);
        }
        // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.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();
          name_ = "";
          value_ = 0D;
          return this;
        }
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_descriptor;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue getDefaultInstanceForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance();
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue build() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue buildPartial() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue(this);
          result.name_ = name_;
          result.value_ = value_;
          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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) {
            return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue other) {
          if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance()) return this;
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          if (other.getValue() != 0D) {
            setValue(other.getValue());
          }
          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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private java.lang.Object name_ = "";
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }
        private double value_ ;
        /**
         * 
         * Required. Parameter value
         * 
         *
         * double value = 2;
         * @return The value.
         */
        @java.lang.Override
        public double getValue() {
          return value_;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * double value = 2;
         * @param value The value to set.
         * @return This builder for chaining.
         */
        public Builder setValue(double value) {
          
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * double value = 2;
         * @return This builder for chaining.
         */
        public Builder clearValue() {
          
          value_ = 0D;
          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.ydb.v1.AlertParameter.DoubleParameterValue)
      }
      // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue)
      private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue();
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public DoubleParameterValue parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new DoubleParameterValue(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.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
    public interface IntegerParameterValueOrBuilder extends
        // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue)
        com.google.protobuf.MessageOrBuilder {
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * int64 value = 2;
       * @return The value.
       */
      long getValue();
    }
    /**
     * Protobuf type {@code yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue}
     */
    public static final class IntegerParameterValue extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue)
        IntegerParameterValueOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use IntegerParameterValue.newBuilder() to construct.
      private IntegerParameterValue(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
        super(builder);
      }
      private IntegerParameterValue() {
        name_ = "";
      }
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new IntegerParameterValue();
      }
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private IntegerParameterValue(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();
                name_ = s;
                break;
              }
              case 16: {
                value_ = input.readInt64();
                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 {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder.class);
      }
      public static final int NAME_FIELD_NUMBER = 1;
      private volatile java.lang.Object name_;
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        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();
          name_ = s;
          return s;
        }
      }
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      public static final int VALUE_FIELD_NUMBER = 2;
      private long value_;
      /**
       * 
       * Required. Parameter value
       * 
       *
       * int64 value = 2;
       * @return The value.
       */
      @java.lang.Override
      public long getValue() {
        return value_;
      }
      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(name_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
        }
        if (value_ != 0L) {
          output.writeInt64(2, value_);
        }
        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(name_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
        }
        if (value_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, value_);
        }
        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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue)) {
          return super.equals(obj);
        }
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) obj;
        if (!getName()
            .equals(other.getName())) return false;
        if (getValue()
            != other.getValue()) 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) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getValue());
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue 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.ydb.v1.AlertParameter.IntegerParameterValue}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue)
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValueOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_descriptor;
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder.class);
        }
        // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.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();
          name_ = "";
          value_ = 0L;
          return this;
        }
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_descriptor;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue getDefaultInstanceForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance();
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue build() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue buildPartial() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue(this);
          result.name_ = name_;
          result.value_ = value_;
          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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) {
            return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue other) {
          if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance()) return this;
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          if (other.getValue() != 0L) {
            setValue(other.getValue());
          }
          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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private java.lang.Object name_ = "";
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }
        private long value_ ;
        /**
         * 
         * Required. Parameter value
         * 
         *
         * int64 value = 2;
         * @return The value.
         */
        @java.lang.Override
        public long getValue() {
          return value_;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * int64 value = 2;
         * @param value The value to set.
         * @return This builder for chaining.
         */
        public Builder setValue(long value) {
          
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * int64 value = 2;
         * @return This builder for chaining.
         */
        public Builder clearValue() {
          
          value_ = 0L;
          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.ydb.v1.AlertParameter.IntegerParameterValue)
      }
      // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue)
      private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue();
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public IntegerParameterValue parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new IntegerParameterValue(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.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
    public interface TextParameterValueOrBuilder extends
        // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.AlertParameter.TextParameterValue)
        com.google.protobuf.MessageOrBuilder {
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * string value = 2;
       * @return The value.
       */
      java.lang.String getValue();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * string value = 2;
       * @return The bytes for value.
       */
      com.google.protobuf.ByteString
          getValueBytes();
    }
    /**
     * Protobuf type {@code yandex.cloud.ydb.v1.AlertParameter.TextParameterValue}
     */
    public static final class TextParameterValue extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.AlertParameter.TextParameterValue)
        TextParameterValueOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TextParameterValue.newBuilder() to construct.
      private TextParameterValue(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
        super(builder);
      }
      private TextParameterValue() {
        name_ = "";
        value_ = "";
      }
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new TextParameterValue();
      }
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private TextParameterValue(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();
                name_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();
                value_ = s;
                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 {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder.class);
      }
      public static final int NAME_FIELD_NUMBER = 1;
      private volatile java.lang.Object name_;
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        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();
          name_ = s;
          return s;
        }
      }
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      public static final int VALUE_FIELD_NUMBER = 2;
      private volatile java.lang.Object value_;
      /**
       * 
       * Required. Parameter value
       * 
       *
       * string value = 2;
       * @return The value.
       */
      @java.lang.Override
      public java.lang.String getValue() {
        java.lang.Object ref = value_;
        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();
          value_ = s;
          return s;
        }
      }
      /**
       * 
       * Required. Parameter value
       * 
       *
       * string value = 2;
       * @return The bytes for value.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getValueBytes() {
        java.lang.Object ref = value_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          value_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      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(name_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(value_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, value_);
        }
        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(name_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(value_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, value_);
        }
        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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue)) {
          return super.equals(obj);
        }
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) obj;
        if (!getName()
            .equals(other.getName())) return false;
        if (!getValue()
            .equals(other.getValue())) 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) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getValue().hashCode();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue 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.ydb.v1.AlertParameter.TextParameterValue}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.AlertParameter.TextParameterValue)
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValueOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_descriptor;
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder.class);
        }
        // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.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();
          name_ = "";
          value_ = "";
          return this;
        }
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_descriptor;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue getDefaultInstanceForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance();
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue build() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue buildPartial() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue(this);
          result.name_ = name_;
          result.value_ = value_;
          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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) {
            return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue other) {
          if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance()) return this;
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          if (!other.getValue().isEmpty()) {
            value_ = other.value_;
            onChanged();
          }
          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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private java.lang.Object name_ = "";
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }
        private java.lang.Object value_ = "";
        /**
         * 
         * Required. Parameter value
         * 
         *
         * string value = 2;
         * @return The value.
         */
        public java.lang.String getValue() {
          java.lang.Object ref = value_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            value_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * string value = 2;
         * @return The bytes for value.
         */
        public com.google.protobuf.ByteString
            getValueBytes() {
          java.lang.Object ref = value_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            value_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * string value = 2;
         * @param value The value to set.
         * @return This builder for chaining.
         */
        public Builder setValue(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * string value = 2;
         * @return This builder for chaining.
         */
        public Builder clearValue() {
          
          value_ = getDefaultInstance().getValue();
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * string value = 2;
         * @param value The bytes for value to set.
         * @return This builder for chaining.
         */
        public Builder setValueBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          value_ = value;
          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.ydb.v1.AlertParameter.TextParameterValue)
      }
      // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.AlertParameter.TextParameterValue)
      private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue();
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public TextParameterValue parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new TextParameterValue(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.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
    public interface TextListParameterValueOrBuilder extends
        // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue)
        com.google.protobuf.MessageOrBuilder {
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return A list containing the values.
       */
      java.util.List
          getValuesList();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return The count of values.
       */
      int getValuesCount();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the element to return.
       * @return The values at the given index.
       */
      java.lang.String getValues(int index);
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the value to return.
       * @return The bytes of the values at the given index.
       */
      com.google.protobuf.ByteString
          getValuesBytes(int index);
    }
    /**
     * Protobuf type {@code yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue}
     */
    public static final class TextListParameterValue extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue)
        TextListParameterValueOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TextListParameterValue.newBuilder() to construct.
      private TextListParameterValue(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
        super(builder);
      }
      private TextListParameterValue() {
        name_ = "";
        values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      }
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new TextListParameterValue();
      }
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private TextListParameterValue(
          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();
                name_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  values_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                values_.add(s);
                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)) {
            values_ = values_.getUnmodifiableView();
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder.class);
      }
      public static final int NAME_FIELD_NUMBER = 1;
      private volatile java.lang.Object name_;
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        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();
          name_ = s;
          return s;
        }
      }
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      public static final int VALUES_FIELD_NUMBER = 2;
      private com.google.protobuf.LazyStringList values_;
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return A list containing the values.
       */
      public com.google.protobuf.ProtocolStringList
          getValuesList() {
        return values_;
      }
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return The count of values.
       */
      public int getValuesCount() {
        return values_.size();
      }
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the element to return.
       * @return The values at the given index.
       */
      public java.lang.String getValues(int index) {
        return values_.get(index);
      }
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the value to return.
       * @return The bytes of the values at the given index.
       */
      public com.google.protobuf.ByteString
          getValuesBytes(int index) {
        return values_.getByteString(index);
      }
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
        memoizedIsInitialized = 1;
        return true;
      }
      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
        }
        for (int i = 0; i < values_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, values_.getRaw(i));
        }
        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(name_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < values_.size(); i++) {
            dataSize += computeStringSizeNoTag(values_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getValuesList().size();
        }
        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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue)) {
          return super.equals(obj);
        }
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) obj;
        if (!getName()
            .equals(other.getName())) return false;
        if (!getValuesList()
            .equals(other.getValuesList())) 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) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        if (getValuesCount() > 0) {
          hash = (37 * hash) + VALUES_FIELD_NUMBER;
          hash = (53 * hash) + getValuesList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue 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.ydb.v1.AlertParameter.TextListParameterValue}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue)
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValueOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_descriptor;
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder.class);
        }
        // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.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();
          name_ = "";
          values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_descriptor;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue getDefaultInstanceForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance();
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue build() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue buildPartial() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue(this);
          int from_bitField0_ = bitField0_;
          result.name_ = name_;
          if (((bitField0_ & 0x00000001) != 0)) {
            values_ = values_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.values_ = values_;
          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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) {
            return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue other) {
          if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance()) return this;
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          if (!other.values_.isEmpty()) {
            if (values_.isEmpty()) {
              values_ = other.values_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureValuesIsMutable();
              values_.addAll(other.values_);
            }
            onChanged();
          }
          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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
        private java.lang.Object name_ = "";
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }
        private com.google.protobuf.LazyStringList values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureValuesIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            values_ = new com.google.protobuf.LazyStringArrayList(values_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @return A list containing the values.
         */
        public com.google.protobuf.ProtocolStringList
            getValuesList() {
          return values_.getUnmodifiableView();
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @return The count of values.
         */
        public int getValuesCount() {
          return values_.size();
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param index The index of the element to return.
         * @return The values at the given index.
         */
        public java.lang.String getValues(int index) {
          return values_.get(index);
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param index The index of the value to return.
         * @return The bytes of the values at the given index.
         */
        public com.google.protobuf.ByteString
            getValuesBytes(int index) {
          return values_.getByteString(index);
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param index The index to set the value at.
         * @param value The values to set.
         * @return This builder for chaining.
         */
        public Builder setValues(
            int index, java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureValuesIsMutable();
          values_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param value The values to add.
         * @return This builder for chaining.
         */
        public Builder addValues(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureValuesIsMutable();
          values_.add(value);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param values The values to add.
         * @return This builder for chaining.
         */
        public Builder addAllValues(
            java.lang.Iterable values) {
          ensureValuesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, values_);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @return This builder for chaining.
         */
        public Builder clearValues() {
          values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param value The bytes of the values to add.
         * @return This builder for chaining.
         */
        public Builder addValuesBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          ensureValuesIsMutable();
          values_.add(value);
          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.ydb.v1.AlertParameter.TextListParameterValue)
      }
      // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue)
      private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue();
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public TextListParameterValue parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new TextListParameterValue(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.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
    public interface LabelListParameterValueOrBuilder extends
        // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue)
        com.google.protobuf.MessageOrBuilder {
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return A list containing the values.
       */
      java.util.List
          getValuesList();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return The count of values.
       */
      int getValuesCount();
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the element to return.
       * @return The values at the given index.
       */
      java.lang.String getValues(int index);
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the value to return.
       * @return The bytes of the values at the given index.
       */
      com.google.protobuf.ByteString
          getValuesBytes(int index);
    }
    /**
     * Protobuf type {@code yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue}
     */
    public static final class LabelListParameterValue extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue)
        LabelListParameterValueOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use LabelListParameterValue.newBuilder() to construct.
      private LabelListParameterValue(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
        super(builder);
      }
      private LabelListParameterValue() {
        name_ = "";
        values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      }
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new LabelListParameterValue();
      }
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private LabelListParameterValue(
          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();
                name_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  values_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                values_.add(s);
                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)) {
            values_ = values_.getUnmodifiableView();
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder.class);
      }
      public static final int NAME_FIELD_NUMBER = 1;
      private volatile java.lang.Object name_;
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        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();
          name_ = s;
          return s;
        }
      }
      /**
       * 
       * Required. Parameter name
       * 
       *
       * string name = 1;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      public static final int VALUES_FIELD_NUMBER = 2;
      private com.google.protobuf.LazyStringList values_;
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return A list containing the values.
       */
      public com.google.protobuf.ProtocolStringList
          getValuesList() {
        return values_;
      }
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @return The count of values.
       */
      public int getValuesCount() {
        return values_.size();
      }
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the element to return.
       * @return The values at the given index.
       */
      public java.lang.String getValues(int index) {
        return values_.get(index);
      }
      /**
       * 
       * Required. Parameter value
       * 
       *
       * repeated string values = 2;
       * @param index The index of the value to return.
       * @return The bytes of the values at the given index.
       */
      public com.google.protobuf.ByteString
          getValuesBytes(int index) {
        return values_.getByteString(index);
      }
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
        memoizedIsInitialized = 1;
        return true;
      }
      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
        }
        for (int i = 0; i < values_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, values_.getRaw(i));
        }
        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(name_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < values_.size(); i++) {
            dataSize += computeStringSizeNoTag(values_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getValuesList().size();
        }
        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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue)) {
          return super.equals(obj);
        }
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) obj;
        if (!getName()
            .equals(other.getName())) return false;
        if (!getValuesList()
            .equals(other.getValuesList())) 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) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        if (getValuesCount() > 0) {
          hash = (37 * hash) + VALUES_FIELD_NUMBER;
          hash = (53 * hash) + getValuesList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue 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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue 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.ydb.v1.AlertParameter.LabelListParameterValue}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue)
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValueOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_descriptor;
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder.class);
        }
        // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.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();
          name_ = "";
          values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_descriptor;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue getDefaultInstanceForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance();
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue build() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue buildPartial() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue(this);
          int from_bitField0_ = bitField0_;
          result.name_ = name_;
          if (((bitField0_ & 0x00000001) != 0)) {
            values_ = values_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.values_ = values_;
          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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) {
            return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue other) {
          if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance()) return this;
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          if (!other.values_.isEmpty()) {
            if (values_.isEmpty()) {
              values_ = other.values_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureValuesIsMutable();
              values_.addAll(other.values_);
            }
            onChanged();
          }
          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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
        private java.lang.Object name_ = "";
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter name
         * 
         *
         * string name = 1;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }
        private com.google.protobuf.LazyStringList values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureValuesIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            values_ = new com.google.protobuf.LazyStringArrayList(values_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @return A list containing the values.
         */
        public com.google.protobuf.ProtocolStringList
            getValuesList() {
          return values_.getUnmodifiableView();
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @return The count of values.
         */
        public int getValuesCount() {
          return values_.size();
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param index The index of the element to return.
         * @return The values at the given index.
         */
        public java.lang.String getValues(int index) {
          return values_.get(index);
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param index The index of the value to return.
         * @return The bytes of the values at the given index.
         */
        public com.google.protobuf.ByteString
            getValuesBytes(int index) {
          return values_.getByteString(index);
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param index The index to set the value at.
         * @param value The values to set.
         * @return This builder for chaining.
         */
        public Builder setValues(
            int index, java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureValuesIsMutable();
          values_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param value The values to add.
         * @return This builder for chaining.
         */
        public Builder addValues(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureValuesIsMutable();
          values_.add(value);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param values The values to add.
         * @return This builder for chaining.
         */
        public Builder addAllValues(
            java.lang.Iterable values) {
          ensureValuesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, values_);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @return This builder for chaining.
         */
        public Builder clearValues() {
          values_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * 
         * Required. Parameter value
         * 
         *
         * repeated string values = 2;
         * @param value The bytes of the values to add.
         * @return This builder for chaining.
         */
        public Builder addValuesBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          ensureValuesIsMutable();
          values_.add(value);
          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.ydb.v1.AlertParameter.LabelListParameterValue)
      }
      // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue)
      private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue();
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public LabelListParameterValue parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new LabelListParameterValue(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.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
    private int parameterCase_ = 0;
    private java.lang.Object parameter_;
    public enum ParameterCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      DOUBLE_PARAMETER_VALUE(1),
      INTEGER_PARAMETER_VALUE(2),
      TEXT_PARAMETER_VALUE(3),
      TEXT_LIST_PARAMETER_VALUE(4),
      LABEL_LIST_PARAMETER_VALUE(5),
      PARAMETER_NOT_SET(0);
      private final int value;
      private ParameterCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ParameterCase valueOf(int value) {
        return forNumber(value);
      }
      public static ParameterCase forNumber(int value) {
        switch (value) {
          case 1: return DOUBLE_PARAMETER_VALUE;
          case 2: return INTEGER_PARAMETER_VALUE;
          case 3: return TEXT_PARAMETER_VALUE;
          case 4: return TEXT_LIST_PARAMETER_VALUE;
          case 5: return LABEL_LIST_PARAMETER_VALUE;
          case 0: return PARAMETER_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };
    public ParameterCase
    getParameterCase() {
      return ParameterCase.forNumber(
          parameterCase_);
    }
    public static final int DOUBLE_PARAMETER_VALUE_FIELD_NUMBER = 1;
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
     * @return Whether the doubleParameterValue field is set.
     */
    @java.lang.Override
    public boolean hasDoubleParameterValue() {
      return parameterCase_ == 1;
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
     * @return The doubleParameterValue.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue getDoubleParameterValue() {
      if (parameterCase_ == 1) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValueOrBuilder getDoubleParameterValueOrBuilder() {
      if (parameterCase_ == 1) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance();
    }
    public static final int INTEGER_PARAMETER_VALUE_FIELD_NUMBER = 2;
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
     * @return Whether the integerParameterValue field is set.
     */
    @java.lang.Override
    public boolean hasIntegerParameterValue() {
      return parameterCase_ == 2;
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
     * @return The integerParameterValue.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue getIntegerParameterValue() {
      if (parameterCase_ == 2) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValueOrBuilder getIntegerParameterValueOrBuilder() {
      if (parameterCase_ == 2) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance();
    }
    public static final int TEXT_PARAMETER_VALUE_FIELD_NUMBER = 3;
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
     * @return Whether the textParameterValue field is set.
     */
    @java.lang.Override
    public boolean hasTextParameterValue() {
      return parameterCase_ == 3;
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
     * @return The textParameterValue.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue getTextParameterValue() {
      if (parameterCase_ == 3) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValueOrBuilder getTextParameterValueOrBuilder() {
      if (parameterCase_ == 3) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance();
    }
    public static final int TEXT_LIST_PARAMETER_VALUE_FIELD_NUMBER = 4;
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
     * @return Whether the textListParameterValue field is set.
     */
    @java.lang.Override
    public boolean hasTextListParameterValue() {
      return parameterCase_ == 4;
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
     * @return The textListParameterValue.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue getTextListParameterValue() {
      if (parameterCase_ == 4) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValueOrBuilder getTextListParameterValueOrBuilder() {
      if (parameterCase_ == 4) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance();
    }
    public static final int LABEL_LIST_PARAMETER_VALUE_FIELD_NUMBER = 5;
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
     * @return Whether the labelListParameterValue field is set.
     */
    @java.lang.Override
    public boolean hasLabelListParameterValue() {
      return parameterCase_ == 5;
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
     * @return The labelListParameterValue.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue getLabelListParameterValue() {
      if (parameterCase_ == 5) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValueOrBuilder getLabelListParameterValueOrBuilder() {
      if (parameterCase_ == 5) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (parameterCase_ == 1) {
        output.writeMessage(1, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_);
      }
      if (parameterCase_ == 2) {
        output.writeMessage(2, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_);
      }
      if (parameterCase_ == 3) {
        output.writeMessage(3, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_);
      }
      if (parameterCase_ == 4) {
        output.writeMessage(4, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_);
      }
      if (parameterCase_ == 5) {
        output.writeMessage(5, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_);
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      if (parameterCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_);
      }
      if (parameterCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_);
      }
      if (parameterCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_);
      }
      if (parameterCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_);
      }
      if (parameterCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_);
      }
      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.ydb.v1.DatabaseOuterClass.AlertParameter)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter) obj;
      if (!getParameterCase().equals(other.getParameterCase())) return false;
      switch (parameterCase_) {
        case 1:
          if (!getDoubleParameterValue()
              .equals(other.getDoubleParameterValue())) return false;
          break;
        case 2:
          if (!getIntegerParameterValue()
              .equals(other.getIntegerParameterValue())) return false;
          break;
        case 3:
          if (!getTextParameterValue()
              .equals(other.getTextParameterValue())) return false;
          break;
        case 4:
          if (!getTextListParameterValue()
              .equals(other.getTextListParameterValue())) return false;
          break;
        case 5:
          if (!getLabelListParameterValue()
              .equals(other.getLabelListParameterValue())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      switch (parameterCase_) {
        case 1:
          hash = (37 * hash) + DOUBLE_PARAMETER_VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getDoubleParameterValue().hashCode();
          break;
        case 2:
          hash = (37 * hash) + INTEGER_PARAMETER_VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getIntegerParameterValue().hashCode();
          break;
        case 3:
          hash = (37 * hash) + TEXT_PARAMETER_VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getTextParameterValue().hashCode();
          break;
        case 4:
          hash = (37 * hash) + TEXT_LIST_PARAMETER_VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getTextListParameterValue().hashCode();
          break;
        case 5:
          hash = (37 * hash) + LABEL_LIST_PARAMETER_VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getLabelListParameterValue().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter 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.ydb.v1.DatabaseOuterClass.AlertParameter parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter 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.ydb.v1.DatabaseOuterClass.AlertParameter parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter 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.ydb.v1.DatabaseOuterClass.AlertParameter parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter 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.ydb.v1.DatabaseOuterClass.AlertParameter parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter 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.ydb.v1.DatabaseOuterClass.AlertParameter 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.ydb.v1.AlertParameter}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.AlertParameter)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.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();
        parameterCase_ = 0;
        parameter_ = null;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter(this);
        if (parameterCase_ == 1) {
          if (doubleParameterValueBuilder_ == null) {
            result.parameter_ = parameter_;
          } else {
            result.parameter_ = doubleParameterValueBuilder_.build();
          }
        }
        if (parameterCase_ == 2) {
          if (integerParameterValueBuilder_ == null) {
            result.parameter_ = parameter_;
          } else {
            result.parameter_ = integerParameterValueBuilder_.build();
          }
        }
        if (parameterCase_ == 3) {
          if (textParameterValueBuilder_ == null) {
            result.parameter_ = parameter_;
          } else {
            result.parameter_ = textParameterValueBuilder_.build();
          }
        }
        if (parameterCase_ == 4) {
          if (textListParameterValueBuilder_ == null) {
            result.parameter_ = parameter_;
          } else {
            result.parameter_ = textListParameterValueBuilder_.build();
          }
        }
        if (parameterCase_ == 5) {
          if (labelListParameterValueBuilder_ == null) {
            result.parameter_ = parameter_;
          } else {
            result.parameter_ = labelListParameterValueBuilder_.build();
          }
        }
        result.parameterCase_ = parameterCase_;
        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.ydb.v1.DatabaseOuterClass.AlertParameter) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.getDefaultInstance()) return this;
        switch (other.getParameterCase()) {
          case DOUBLE_PARAMETER_VALUE: {
            mergeDoubleParameterValue(other.getDoubleParameterValue());
            break;
          }
          case INTEGER_PARAMETER_VALUE: {
            mergeIntegerParameterValue(other.getIntegerParameterValue());
            break;
          }
          case TEXT_PARAMETER_VALUE: {
            mergeTextParameterValue(other.getTextParameterValue());
            break;
          }
          case TEXT_LIST_PARAMETER_VALUE: {
            mergeTextListParameterValue(other.getTextListParameterValue());
            break;
          }
          case LABEL_LIST_PARAMETER_VALUE: {
            mergeLabelListParameterValue(other.getLabelListParameterValue());
            break;
          }
          case PARAMETER_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }
      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int parameterCase_ = 0;
      private java.lang.Object parameter_;
      public ParameterCase
          getParameterCase() {
        return ParameterCase.forNumber(
            parameterCase_);
      }
      public Builder clearParameter() {
        parameterCase_ = 0;
        parameter_ = null;
        onChanged();
        return this;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValueOrBuilder> doubleParameterValueBuilder_;
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       * @return Whether the doubleParameterValue field is set.
       */
      @java.lang.Override
      public boolean hasDoubleParameterValue() {
        return parameterCase_ == 1;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       * @return The doubleParameterValue.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue getDoubleParameterValue() {
        if (doubleParameterValueBuilder_ == null) {
          if (parameterCase_ == 1) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance();
        } else {
          if (parameterCase_ == 1) {
            return doubleParameterValueBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       */
      public Builder setDoubleParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue value) {
        if (doubleParameterValueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          parameter_ = value;
          onChanged();
        } else {
          doubleParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 1;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       */
      public Builder setDoubleParameterValue(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder builderForValue) {
        if (doubleParameterValueBuilder_ == null) {
          parameter_ = builderForValue.build();
          onChanged();
        } else {
          doubleParameterValueBuilder_.setMessage(builderForValue.build());
        }
        parameterCase_ = 1;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       */
      public Builder mergeDoubleParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue value) {
        if (doubleParameterValueBuilder_ == null) {
          if (parameterCase_ == 1 &&
              parameter_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance()) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_)
                .mergeFrom(value).buildPartial();
          } else {
            parameter_ = value;
          }
          onChanged();
        } else {
          if (parameterCase_ == 1) {
            doubleParameterValueBuilder_.mergeFrom(value);
          }
          doubleParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 1;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       */
      public Builder clearDoubleParameterValue() {
        if (doubleParameterValueBuilder_ == null) {
          if (parameterCase_ == 1) {
            parameterCase_ = 0;
            parameter_ = null;
            onChanged();
          }
        } else {
          if (parameterCase_ == 1) {
            parameterCase_ = 0;
            parameter_ = null;
          }
          doubleParameterValueBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder getDoubleParameterValueBuilder() {
        return getDoubleParameterValueFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValueOrBuilder getDoubleParameterValueOrBuilder() {
        if ((parameterCase_ == 1) && (doubleParameterValueBuilder_ != null)) {
          return doubleParameterValueBuilder_.getMessageOrBuilder();
        } else {
          if (parameterCase_ == 1) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.DoubleParameterValue double_parameter_value = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValueOrBuilder> 
          getDoubleParameterValueFieldBuilder() {
        if (doubleParameterValueBuilder_ == null) {
          if (!(parameterCase_ == 1)) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.getDefaultInstance();
          }
          doubleParameterValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValueOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.DoubleParameterValue) parameter_,
                  getParentForChildren(),
                  isClean());
          parameter_ = null;
        }
        parameterCase_ = 1;
        onChanged();;
        return doubleParameterValueBuilder_;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValueOrBuilder> integerParameterValueBuilder_;
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       * @return Whether the integerParameterValue field is set.
       */
      @java.lang.Override
      public boolean hasIntegerParameterValue() {
        return parameterCase_ == 2;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       * @return The integerParameterValue.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue getIntegerParameterValue() {
        if (integerParameterValueBuilder_ == null) {
          if (parameterCase_ == 2) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance();
        } else {
          if (parameterCase_ == 2) {
            return integerParameterValueBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       */
      public Builder setIntegerParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue value) {
        if (integerParameterValueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          parameter_ = value;
          onChanged();
        } else {
          integerParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 2;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       */
      public Builder setIntegerParameterValue(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder builderForValue) {
        if (integerParameterValueBuilder_ == null) {
          parameter_ = builderForValue.build();
          onChanged();
        } else {
          integerParameterValueBuilder_.setMessage(builderForValue.build());
        }
        parameterCase_ = 2;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       */
      public Builder mergeIntegerParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue value) {
        if (integerParameterValueBuilder_ == null) {
          if (parameterCase_ == 2 &&
              parameter_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance()) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_)
                .mergeFrom(value).buildPartial();
          } else {
            parameter_ = value;
          }
          onChanged();
        } else {
          if (parameterCase_ == 2) {
            integerParameterValueBuilder_.mergeFrom(value);
          }
          integerParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 2;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       */
      public Builder clearIntegerParameterValue() {
        if (integerParameterValueBuilder_ == null) {
          if (parameterCase_ == 2) {
            parameterCase_ = 0;
            parameter_ = null;
            onChanged();
          }
        } else {
          if (parameterCase_ == 2) {
            parameterCase_ = 0;
            parameter_ = null;
          }
          integerParameterValueBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder getIntegerParameterValueBuilder() {
        return getIntegerParameterValueFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValueOrBuilder getIntegerParameterValueOrBuilder() {
        if ((parameterCase_ == 2) && (integerParameterValueBuilder_ != null)) {
          return integerParameterValueBuilder_.getMessageOrBuilder();
        } else {
          if (parameterCase_ == 2) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.IntegerParameterValue integer_parameter_value = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValueOrBuilder> 
          getIntegerParameterValueFieldBuilder() {
        if (integerParameterValueBuilder_ == null) {
          if (!(parameterCase_ == 2)) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.getDefaultInstance();
          }
          integerParameterValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValueOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.IntegerParameterValue) parameter_,
                  getParentForChildren(),
                  isClean());
          parameter_ = null;
        }
        parameterCase_ = 2;
        onChanged();;
        return integerParameterValueBuilder_;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValueOrBuilder> textParameterValueBuilder_;
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       * @return Whether the textParameterValue field is set.
       */
      @java.lang.Override
      public boolean hasTextParameterValue() {
        return parameterCase_ == 3;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       * @return The textParameterValue.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue getTextParameterValue() {
        if (textParameterValueBuilder_ == null) {
          if (parameterCase_ == 3) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance();
        } else {
          if (parameterCase_ == 3) {
            return textParameterValueBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       */
      public Builder setTextParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue value) {
        if (textParameterValueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          parameter_ = value;
          onChanged();
        } else {
          textParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 3;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       */
      public Builder setTextParameterValue(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder builderForValue) {
        if (textParameterValueBuilder_ == null) {
          parameter_ = builderForValue.build();
          onChanged();
        } else {
          textParameterValueBuilder_.setMessage(builderForValue.build());
        }
        parameterCase_ = 3;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       */
      public Builder mergeTextParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue value) {
        if (textParameterValueBuilder_ == null) {
          if (parameterCase_ == 3 &&
              parameter_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance()) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_)
                .mergeFrom(value).buildPartial();
          } else {
            parameter_ = value;
          }
          onChanged();
        } else {
          if (parameterCase_ == 3) {
            textParameterValueBuilder_.mergeFrom(value);
          }
          textParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 3;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       */
      public Builder clearTextParameterValue() {
        if (textParameterValueBuilder_ == null) {
          if (parameterCase_ == 3) {
            parameterCase_ = 0;
            parameter_ = null;
            onChanged();
          }
        } else {
          if (parameterCase_ == 3) {
            parameterCase_ = 0;
            parameter_ = null;
          }
          textParameterValueBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder getTextParameterValueBuilder() {
        return getTextParameterValueFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValueOrBuilder getTextParameterValueOrBuilder() {
        if ((parameterCase_ == 3) && (textParameterValueBuilder_ != null)) {
          return textParameterValueBuilder_.getMessageOrBuilder();
        } else {
          if (parameterCase_ == 3) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextParameterValue text_parameter_value = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValueOrBuilder> 
          getTextParameterValueFieldBuilder() {
        if (textParameterValueBuilder_ == null) {
          if (!(parameterCase_ == 3)) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.getDefaultInstance();
          }
          textParameterValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValueOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextParameterValue) parameter_,
                  getParentForChildren(),
                  isClean());
          parameter_ = null;
        }
        parameterCase_ = 3;
        onChanged();;
        return textParameterValueBuilder_;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValueOrBuilder> textListParameterValueBuilder_;
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       * @return Whether the textListParameterValue field is set.
       */
      @java.lang.Override
      public boolean hasTextListParameterValue() {
        return parameterCase_ == 4;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       * @return The textListParameterValue.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue getTextListParameterValue() {
        if (textListParameterValueBuilder_ == null) {
          if (parameterCase_ == 4) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance();
        } else {
          if (parameterCase_ == 4) {
            return textListParameterValueBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       */
      public Builder setTextListParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue value) {
        if (textListParameterValueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          parameter_ = value;
          onChanged();
        } else {
          textListParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 4;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       */
      public Builder setTextListParameterValue(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder builderForValue) {
        if (textListParameterValueBuilder_ == null) {
          parameter_ = builderForValue.build();
          onChanged();
        } else {
          textListParameterValueBuilder_.setMessage(builderForValue.build());
        }
        parameterCase_ = 4;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       */
      public Builder mergeTextListParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue value) {
        if (textListParameterValueBuilder_ == null) {
          if (parameterCase_ == 4 &&
              parameter_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance()) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_)
                .mergeFrom(value).buildPartial();
          } else {
            parameter_ = value;
          }
          onChanged();
        } else {
          if (parameterCase_ == 4) {
            textListParameterValueBuilder_.mergeFrom(value);
          }
          textListParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 4;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       */
      public Builder clearTextListParameterValue() {
        if (textListParameterValueBuilder_ == null) {
          if (parameterCase_ == 4) {
            parameterCase_ = 0;
            parameter_ = null;
            onChanged();
          }
        } else {
          if (parameterCase_ == 4) {
            parameterCase_ = 0;
            parameter_ = null;
          }
          textListParameterValueBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder getTextListParameterValueBuilder() {
        return getTextListParameterValueFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValueOrBuilder getTextListParameterValueOrBuilder() {
        if ((parameterCase_ == 4) && (textListParameterValueBuilder_ != null)) {
          return textListParameterValueBuilder_.getMessageOrBuilder();
        } else {
          if (parameterCase_ == 4) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.TextListParameterValue text_list_parameter_value = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValueOrBuilder> 
          getTextListParameterValueFieldBuilder() {
        if (textListParameterValueBuilder_ == null) {
          if (!(parameterCase_ == 4)) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.getDefaultInstance();
          }
          textListParameterValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValueOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.TextListParameterValue) parameter_,
                  getParentForChildren(),
                  isClean());
          parameter_ = null;
        }
        parameterCase_ = 4;
        onChanged();;
        return textListParameterValueBuilder_;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValueOrBuilder> labelListParameterValueBuilder_;
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       * @return Whether the labelListParameterValue field is set.
       */
      @java.lang.Override
      public boolean hasLabelListParameterValue() {
        return parameterCase_ == 5;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       * @return The labelListParameterValue.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue getLabelListParameterValue() {
        if (labelListParameterValueBuilder_ == null) {
          if (parameterCase_ == 5) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance();
        } else {
          if (parameterCase_ == 5) {
            return labelListParameterValueBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       */
      public Builder setLabelListParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue value) {
        if (labelListParameterValueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          parameter_ = value;
          onChanged();
        } else {
          labelListParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 5;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       */
      public Builder setLabelListParameterValue(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder builderForValue) {
        if (labelListParameterValueBuilder_ == null) {
          parameter_ = builderForValue.build();
          onChanged();
        } else {
          labelListParameterValueBuilder_.setMessage(builderForValue.build());
        }
        parameterCase_ = 5;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       */
      public Builder mergeLabelListParameterValue(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue value) {
        if (labelListParameterValueBuilder_ == null) {
          if (parameterCase_ == 5 &&
              parameter_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance()) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_)
                .mergeFrom(value).buildPartial();
          } else {
            parameter_ = value;
          }
          onChanged();
        } else {
          if (parameterCase_ == 5) {
            labelListParameterValueBuilder_.mergeFrom(value);
          }
          labelListParameterValueBuilder_.setMessage(value);
        }
        parameterCase_ = 5;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       */
      public Builder clearLabelListParameterValue() {
        if (labelListParameterValueBuilder_ == null) {
          if (parameterCase_ == 5) {
            parameterCase_ = 0;
            parameter_ = null;
            onChanged();
          }
        } else {
          if (parameterCase_ == 5) {
            parameterCase_ = 0;
            parameter_ = null;
          }
          labelListParameterValueBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder getLabelListParameterValueBuilder() {
        return getLabelListParameterValueFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValueOrBuilder getLabelListParameterValueOrBuilder() {
        if ((parameterCase_ == 5) && (labelListParameterValueBuilder_ != null)) {
          return labelListParameterValueBuilder_.getMessageOrBuilder();
        } else {
          if (parameterCase_ == 5) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.AlertParameter.LabelListParameterValue label_list_parameter_value = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValueOrBuilder> 
          getLabelListParameterValueFieldBuilder() {
        if (labelListParameterValueBuilder_ == null) {
          if (!(parameterCase_ == 5)) {
            parameter_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.getDefaultInstance();
          }
          labelListParameterValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValueOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.LabelListParameterValue) parameter_,
                  getParentForChildren(),
                  isClean());
          parameter_ = null;
        }
        parameterCase_ = 5;
        onChanged();;
        return labelListParameterValueBuilder_;
      }
      @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.ydb.v1.AlertParameter)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.AlertParameter)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public AlertParameter parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AlertParameter(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.ydb.v1.DatabaseOuterClass.AlertParameter getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface NotificationChannelOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.NotificationChannel)
      com.google.protobuf.MessageOrBuilder {
    /**
     * string notification_channel_id = 1;
     * @return The notificationChannelId.
     */
    java.lang.String getNotificationChannelId();
    /**
     * string notification_channel_id = 1;
     * @return The bytes for notificationChannelId.
     */
    com.google.protobuf.ByteString
        getNotificationChannelIdBytes();
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @return A list containing the notifyAboutStatuses.
     */
    java.util.List getNotifyAboutStatusesList();
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @return The count of notifyAboutStatuses.
     */
    int getNotifyAboutStatusesCount();
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @param index The index of the element to return.
     * @return The notifyAboutStatuses at the given index.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus getNotifyAboutStatuses(int index);
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @return A list containing the enum numeric values on the wire for notifyAboutStatuses.
     */
    java.util.List
    getNotifyAboutStatusesValueList();
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of notifyAboutStatuses at the given index.
     */
    int getNotifyAboutStatusesValue(int index);
    /**
     * int64 repeate_notify_delay_ms = 3;
     * @return The repeateNotifyDelayMs.
     */
    long getRepeateNotifyDelayMs();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.NotificationChannel}
   */
  public static final class NotificationChannel extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.NotificationChannel)
      NotificationChannelOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use NotificationChannel.newBuilder() to construct.
    private NotificationChannel(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private NotificationChannel() {
      notificationChannelId_ = "";
      notifyAboutStatuses_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new NotificationChannel();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private NotificationChannel(
        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();
              notificationChannelId_ = s;
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                notifyAboutStatuses_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              notifyAboutStatuses_.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_ & 0x00000001) != 0)) {
                  notifyAboutStatuses_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                notifyAboutStatuses_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 24: {
              repeateNotifyDelayMs_ = input.readInt64();
              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)) {
          notifyAboutStatuses_ = java.util.Collections.unmodifiableList(notifyAboutStatuses_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_NotificationChannel_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_NotificationChannel_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder.class);
    }
    public static final int NOTIFICATION_CHANNEL_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object notificationChannelId_;
    /**
     * string notification_channel_id = 1;
     * @return The notificationChannelId.
     */
    @java.lang.Override
    public java.lang.String getNotificationChannelId() {
      java.lang.Object ref = notificationChannelId_;
      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();
        notificationChannelId_ = s;
        return s;
      }
    }
    /**
     * string notification_channel_id = 1;
     * @return The bytes for notificationChannelId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNotificationChannelIdBytes() {
      java.lang.Object ref = notificationChannelId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        notificationChannelId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int NOTIFY_ABOUT_STATUSES_FIELD_NUMBER = 2;
    private java.util.List notifyAboutStatuses_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus> notifyAboutStatuses_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus>() {
              public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus result = yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus.valueOf(from);
                return result == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus.UNRECOGNIZED : result;
              }
            };
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @return A list containing the notifyAboutStatuses.
     */
    @java.lang.Override
    public java.util.List getNotifyAboutStatusesList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus>(notifyAboutStatuses_, notifyAboutStatuses_converter_);
    }
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @return The count of notifyAboutStatuses.
     */
    @java.lang.Override
    public int getNotifyAboutStatusesCount() {
      return notifyAboutStatuses_.size();
    }
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @param index The index of the element to return.
     * @return The notifyAboutStatuses at the given index.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus getNotifyAboutStatuses(int index) {
      return notifyAboutStatuses_converter_.convert(notifyAboutStatuses_.get(index));
    }
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @return A list containing the enum numeric values on the wire for notifyAboutStatuses.
     */
    @java.lang.Override
    public java.util.List
    getNotifyAboutStatusesValueList() {
      return notifyAboutStatuses_;
    }
    /**
     * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of notifyAboutStatuses at the given index.
     */
    @java.lang.Override
    public int getNotifyAboutStatusesValue(int index) {
      return notifyAboutStatuses_.get(index);
    }
    private int notifyAboutStatusesMemoizedSerializedSize;
    public static final int REPEATE_NOTIFY_DELAY_MS_FIELD_NUMBER = 3;
    private long repeateNotifyDelayMs_;
    /**
     * int64 repeate_notify_delay_ms = 3;
     * @return The repeateNotifyDelayMs.
     */
    @java.lang.Override
    public long getRepeateNotifyDelayMs() {
      return repeateNotifyDelayMs_;
    }
    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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(notificationChannelId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, notificationChannelId_);
      }
      if (getNotifyAboutStatusesList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(notifyAboutStatusesMemoizedSerializedSize);
      }
      for (int i = 0; i < notifyAboutStatuses_.size(); i++) {
        output.writeEnumNoTag(notifyAboutStatuses_.get(i));
      }
      if (repeateNotifyDelayMs_ != 0L) {
        output.writeInt64(3, repeateNotifyDelayMs_);
      }
      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(notificationChannelId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, notificationChannelId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < notifyAboutStatuses_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(notifyAboutStatuses_.get(i));
        }
        size += dataSize;
        if (!getNotifyAboutStatusesList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }notifyAboutStatusesMemoizedSerializedSize = dataSize;
      }
      if (repeateNotifyDelayMs_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, repeateNotifyDelayMs_);
      }
      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.ydb.v1.DatabaseOuterClass.NotificationChannel)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel) obj;
      if (!getNotificationChannelId()
          .equals(other.getNotificationChannelId())) return false;
      if (!notifyAboutStatuses_.equals(other.notifyAboutStatuses_)) return false;
      if (getRepeateNotifyDelayMs()
          != other.getRepeateNotifyDelayMs()) 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) + NOTIFICATION_CHANNEL_ID_FIELD_NUMBER;
      hash = (53 * hash) + getNotificationChannelId().hashCode();
      if (getNotifyAboutStatusesCount() > 0) {
        hash = (37 * hash) + NOTIFY_ABOUT_STATUSES_FIELD_NUMBER;
        hash = (53 * hash) + notifyAboutStatuses_.hashCode();
      }
      hash = (37 * hash) + REPEATE_NOTIFY_DELAY_MS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRepeateNotifyDelayMs());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel 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.ydb.v1.DatabaseOuterClass.NotificationChannel parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel 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.ydb.v1.DatabaseOuterClass.NotificationChannel parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel 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.ydb.v1.DatabaseOuterClass.NotificationChannel parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel 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.ydb.v1.DatabaseOuterClass.NotificationChannel parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel 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.ydb.v1.DatabaseOuterClass.NotificationChannel 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.ydb.v1.NotificationChannel}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.NotificationChannel)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_NotificationChannel_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_NotificationChannel_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.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();
        notificationChannelId_ = "";
        notifyAboutStatuses_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        repeateNotifyDelayMs_ = 0L;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_NotificationChannel_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel(this);
        int from_bitField0_ = bitField0_;
        result.notificationChannelId_ = notificationChannelId_;
        if (((bitField0_ & 0x00000001) != 0)) {
          notifyAboutStatuses_ = java.util.Collections.unmodifiableList(notifyAboutStatuses_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.notifyAboutStatuses_ = notifyAboutStatuses_;
        result.repeateNotifyDelayMs_ = repeateNotifyDelayMs_;
        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.ydb.v1.DatabaseOuterClass.NotificationChannel) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.getDefaultInstance()) return this;
        if (!other.getNotificationChannelId().isEmpty()) {
          notificationChannelId_ = other.notificationChannelId_;
          onChanged();
        }
        if (!other.notifyAboutStatuses_.isEmpty()) {
          if (notifyAboutStatuses_.isEmpty()) {
            notifyAboutStatuses_ = other.notifyAboutStatuses_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureNotifyAboutStatusesIsMutable();
            notifyAboutStatuses_.addAll(other.notifyAboutStatuses_);
          }
          onChanged();
        }
        if (other.getRepeateNotifyDelayMs() != 0L) {
          setRepeateNotifyDelayMs(other.getRepeateNotifyDelayMs());
        }
        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.ydb.v1.DatabaseOuterClass.NotificationChannel parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object notificationChannelId_ = "";
      /**
       * string notification_channel_id = 1;
       * @return The notificationChannelId.
       */
      public java.lang.String getNotificationChannelId() {
        java.lang.Object ref = notificationChannelId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          notificationChannelId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string notification_channel_id = 1;
       * @return The bytes for notificationChannelId.
       */
      public com.google.protobuf.ByteString
          getNotificationChannelIdBytes() {
        java.lang.Object ref = notificationChannelId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          notificationChannelId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string notification_channel_id = 1;
       * @param value The notificationChannelId to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationChannelId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        notificationChannelId_ = value;
        onChanged();
        return this;
      }
      /**
       * string notification_channel_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearNotificationChannelId() {
        
        notificationChannelId_ = getDefaultInstance().getNotificationChannelId();
        onChanged();
        return this;
      }
      /**
       * string notification_channel_id = 1;
       * @param value The bytes for notificationChannelId to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationChannelIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        notificationChannelId_ = value;
        onChanged();
        return this;
      }
      private java.util.List notifyAboutStatuses_ =
        java.util.Collections.emptyList();
      private void ensureNotifyAboutStatusesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          notifyAboutStatuses_ = new java.util.ArrayList(notifyAboutStatuses_);
          bitField0_ |= 0x00000001;
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @return A list containing the notifyAboutStatuses.
       */
      public java.util.List getNotifyAboutStatusesList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus>(notifyAboutStatuses_, notifyAboutStatuses_converter_);
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @return The count of notifyAboutStatuses.
       */
      public int getNotifyAboutStatusesCount() {
        return notifyAboutStatuses_.size();
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param index The index of the element to return.
       * @return The notifyAboutStatuses at the given index.
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus getNotifyAboutStatuses(int index) {
        return notifyAboutStatuses_converter_.convert(notifyAboutStatuses_.get(index));
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param index The index to set the value at.
       * @param value The notifyAboutStatuses to set.
       * @return This builder for chaining.
       */
      public Builder setNotifyAboutStatuses(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureNotifyAboutStatusesIsMutable();
        notifyAboutStatuses_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param value The notifyAboutStatuses to add.
       * @return This builder for chaining.
       */
      public Builder addNotifyAboutStatuses(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureNotifyAboutStatusesIsMutable();
        notifyAboutStatuses_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param values The notifyAboutStatuses to add.
       * @return This builder for chaining.
       */
      public Builder addAllNotifyAboutStatuses(
          java.lang.Iterable extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus> values) {
        ensureNotifyAboutStatusesIsMutable();
        for (yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertEvaluationStatus value : values) {
          notifyAboutStatuses_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @return This builder for chaining.
       */
      public Builder clearNotifyAboutStatuses() {
        notifyAboutStatuses_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @return A list containing the enum numeric values on the wire for notifyAboutStatuses.
       */
      public java.util.List
      getNotifyAboutStatusesValueList() {
        return java.util.Collections.unmodifiableList(notifyAboutStatuses_);
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of notifyAboutStatuses at the given index.
       */
      public int getNotifyAboutStatusesValue(int index) {
        return notifyAboutStatuses_.get(index);
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of notifyAboutStatuses at the given index.
       * @return This builder for chaining.
       */
      public Builder setNotifyAboutStatusesValue(
          int index, int value) {
        ensureNotifyAboutStatusesIsMutable();
        notifyAboutStatuses_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param value The enum numeric value on the wire for notifyAboutStatuses to add.
       * @return This builder for chaining.
       */
      public Builder addNotifyAboutStatusesValue(int value) {
        ensureNotifyAboutStatusesIsMutable();
        notifyAboutStatuses_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.AlertEvaluationStatus notify_about_statuses = 2;
       * @param values The enum numeric values on the wire for notifyAboutStatuses to add.
       * @return This builder for chaining.
       */
      public Builder addAllNotifyAboutStatusesValue(
          java.lang.Iterable values) {
        ensureNotifyAboutStatusesIsMutable();
        for (int value : values) {
          notifyAboutStatuses_.add(value);
        }
        onChanged();
        return this;
      }
      private long repeateNotifyDelayMs_ ;
      /**
       * int64 repeate_notify_delay_ms = 3;
       * @return The repeateNotifyDelayMs.
       */
      @java.lang.Override
      public long getRepeateNotifyDelayMs() {
        return repeateNotifyDelayMs_;
      }
      /**
       * int64 repeate_notify_delay_ms = 3;
       * @param value The repeateNotifyDelayMs to set.
       * @return This builder for chaining.
       */
      public Builder setRepeateNotifyDelayMs(long value) {
        
        repeateNotifyDelayMs_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 repeate_notify_delay_ms = 3;
       * @return This builder for chaining.
       */
      public Builder clearRepeateNotifyDelayMs() {
        
        repeateNotifyDelayMs_ = 0L;
        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.ydb.v1.NotificationChannel)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.NotificationChannel)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public NotificationChannel parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new NotificationChannel(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.ydb.v1.DatabaseOuterClass.NotificationChannel getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface AlertOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.Alert)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * output only field.
     * 
     *
     * string alert_id = 1;
     * @return The alertId.
     */
    java.lang.String getAlertId();
    /**
     * 
     * output only field.
     * 
     *
     * string alert_id = 1;
     * @return The bytes for alertId.
     */
    com.google.protobuf.ByteString
        getAlertIdBytes();
    /**
     * 
     * template of the alert.
     * 
     *
     * string alert_template_id = 2;
     * @return The alertTemplateId.
     */
    java.lang.String getAlertTemplateId();
    /**
     * 
     * template of the alert.
     * 
     *
     * string alert_template_id = 2;
     * @return The bytes for alertTemplateId.
     */
    com.google.protobuf.ByteString
        getAlertTemplateIdBytes();
    /**
     * 
     * name of the alert.
     * 
     *
     * string name = 3;
     * @return The name.
     */
    java.lang.String getName();
    /**
     * 
     * name of the alert.
     * 
     *
     * string name = 3;
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
    /**
     * 
     * human readable description of the alert.
     * 
     *
     * string description = 4;
     * @return The description.
     */
    java.lang.String getDescription();
    /**
     * 
     * human readable description of the alert.
     * 
     *
     * string description = 4;
     * @return The bytes for description.
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    java.util.List 
        getNotificationChannelsList();
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel getNotificationChannels(int index);
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    int getNotificationChannelsCount();
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder> 
        getNotificationChannelsOrBuilderList();
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder getNotificationChannelsOrBuilder(
        int index);
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    java.util.List 
        getAlertParametersList();
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getAlertParameters(int index);
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    int getAlertParametersCount();
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
        getAlertParametersOrBuilderList();
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder getAlertParametersOrBuilder(
        int index);
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    java.util.List 
        getAlertThresholdsList();
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getAlertThresholds(int index);
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    int getAlertThresholdsCount();
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
        getAlertThresholdsOrBuilderList();
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder getAlertThresholdsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.Alert}
   */
  public static final class Alert extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.Alert)
      AlertOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Alert.newBuilder() to construct.
    private Alert(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private Alert() {
      alertId_ = "";
      alertTemplateId_ = "";
      name_ = "";
      description_ = "";
      notificationChannels_ = java.util.Collections.emptyList();
      alertParameters_ = java.util.Collections.emptyList();
      alertThresholds_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Alert();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Alert(
        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();
              alertId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              alertTemplateId_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();
              name_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              description_ = s;
              break;
            }
            case 42: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                notificationChannels_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              notificationChannels_.add(
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.parser(), extensionRegistry));
              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                alertParameters_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              alertParameters_.add(
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.parser(), extensionRegistry));
              break;
            }
            case 58: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                alertThresholds_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              alertThresholds_.add(
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.parser(), extensionRegistry));
              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)) {
          notificationChannels_ = java.util.Collections.unmodifiableList(notificationChannels_);
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          alertParameters_ = java.util.Collections.unmodifiableList(alertParameters_);
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          alertThresholds_ = java.util.Collections.unmodifiableList(alertThresholds_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Alert_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Alert_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder.class);
    }
    public static final int ALERT_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object alertId_;
    /**
     * 
     * output only field.
     * 
     *
     * string alert_id = 1;
     * @return The alertId.
     */
    @java.lang.Override
    public java.lang.String getAlertId() {
      java.lang.Object ref = alertId_;
      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();
        alertId_ = s;
        return s;
      }
    }
    /**
     * 
     * output only field.
     * 
     *
     * string alert_id = 1;
     * @return The bytes for alertId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAlertIdBytes() {
      java.lang.Object ref = alertId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        alertId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int ALERT_TEMPLATE_ID_FIELD_NUMBER = 2;
    private volatile java.lang.Object alertTemplateId_;
    /**
     * 
     * template of the alert.
     * 
     *
     * string alert_template_id = 2;
     * @return The alertTemplateId.
     */
    @java.lang.Override
    public java.lang.String getAlertTemplateId() {
      java.lang.Object ref = alertTemplateId_;
      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();
        alertTemplateId_ = s;
        return s;
      }
    }
    /**
     * 
     * template of the alert.
     * 
     *
     * string alert_template_id = 2;
     * @return The bytes for alertTemplateId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAlertTemplateIdBytes() {
      java.lang.Object ref = alertTemplateId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        alertTemplateId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int NAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object name_;
    /**
     * 
     * name of the alert.
     * 
     *
     * string name = 3;
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      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();
        name_ = s;
        return s;
      }
    }
    /**
     * 
     * name of the alert.
     * 
     *
     * string name = 3;
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int DESCRIPTION_FIELD_NUMBER = 4;
    private volatile java.lang.Object description_;
    /**
     * 
     * human readable description of the alert.
     * 
     *
     * string description = 4;
     * @return The description.
     */
    @java.lang.Override
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      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();
        description_ = s;
        return s;
      }
    }
    /**
     * 
     * human readable description of the alert.
     * 
     *
     * string description = 4;
     * @return The bytes for description.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int NOTIFICATION_CHANNELS_FIELD_NUMBER = 5;
    private java.util.List notificationChannels_;
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    @java.lang.Override
    public java.util.List getNotificationChannelsList() {
      return notificationChannels_;
    }
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder> 
        getNotificationChannelsOrBuilderList() {
      return notificationChannels_;
    }
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    @java.lang.Override
    public int getNotificationChannelsCount() {
      return notificationChannels_.size();
    }
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel getNotificationChannels(int index) {
      return notificationChannels_.get(index);
    }
    /**
     * 
     * the notification channels of the alert.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder getNotificationChannelsOrBuilder(
        int index) {
      return notificationChannels_.get(index);
    }
    public static final int ALERT_PARAMETERS_FIELD_NUMBER = 6;
    private java.util.List alertParameters_;
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    @java.lang.Override
    public java.util.List getAlertParametersList() {
      return alertParameters_;
    }
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
        getAlertParametersOrBuilderList() {
      return alertParameters_;
    }
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    @java.lang.Override
    public int getAlertParametersCount() {
      return alertParameters_.size();
    }
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getAlertParameters(int index) {
      return alertParameters_.get(index);
    }
    /**
     * 
     * alert parameters to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder getAlertParametersOrBuilder(
        int index) {
      return alertParameters_.get(index);
    }
    public static final int ALERT_THRESHOLDS_FIELD_NUMBER = 7;
    private java.util.List alertThresholds_;
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    @java.lang.Override
    public java.util.List getAlertThresholdsList() {
      return alertThresholds_;
    }
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
        getAlertThresholdsOrBuilderList() {
      return alertThresholds_;
    }
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    @java.lang.Override
    public int getAlertThresholdsCount() {
      return alertThresholds_.size();
    }
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getAlertThresholds(int index) {
      return alertThresholds_.get(index);
    }
    /**
     * 
     * alert paratemers to override.
     * 
     *
     * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder getAlertThresholdsOrBuilder(
        int index) {
      return alertThresholds_.get(index);
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alertId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, alertId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alertTemplateId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, alertTemplateId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, description_);
      }
      for (int i = 0; i < notificationChannels_.size(); i++) {
        output.writeMessage(5, notificationChannels_.get(i));
      }
      for (int i = 0; i < alertParameters_.size(); i++) {
        output.writeMessage(6, alertParameters_.get(i));
      }
      for (int i = 0; i < alertThresholds_.size(); i++) {
        output.writeMessage(7, alertThresholds_.get(i));
      }
      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(alertId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, alertId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alertTemplateId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, alertTemplateId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, description_);
      }
      for (int i = 0; i < notificationChannels_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, notificationChannels_.get(i));
      }
      for (int i = 0; i < alertParameters_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, alertParameters_.get(i));
      }
      for (int i = 0; i < alertThresholds_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, alertThresholds_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert) obj;
      if (!getAlertId()
          .equals(other.getAlertId())) return false;
      if (!getAlertTemplateId()
          .equals(other.getAlertTemplateId())) return false;
      if (!getName()
          .equals(other.getName())) return false;
      if (!getDescription()
          .equals(other.getDescription())) return false;
      if (!getNotificationChannelsList()
          .equals(other.getNotificationChannelsList())) return false;
      if (!getAlertParametersList()
          .equals(other.getAlertParametersList())) return false;
      if (!getAlertThresholdsList()
          .equals(other.getAlertThresholdsList())) 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) + ALERT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getAlertId().hashCode();
      hash = (37 * hash) + ALERT_TEMPLATE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getAlertTemplateId().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
      hash = (53 * hash) + getDescription().hashCode();
      if (getNotificationChannelsCount() > 0) {
        hash = (37 * hash) + NOTIFICATION_CHANNELS_FIELD_NUMBER;
        hash = (53 * hash) + getNotificationChannelsList().hashCode();
      }
      if (getAlertParametersCount() > 0) {
        hash = (37 * hash) + ALERT_PARAMETERS_FIELD_NUMBER;
        hash = (53 * hash) + getAlertParametersList().hashCode();
      }
      if (getAlertThresholdsCount() > 0) {
        hash = (37 * hash) + ALERT_THRESHOLDS_FIELD_NUMBER;
        hash = (53 * hash) + getAlertThresholdsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert 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.ydb.v1.DatabaseOuterClass.Alert parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert 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.ydb.v1.DatabaseOuterClass.Alert parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert 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.ydb.v1.DatabaseOuterClass.Alert parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert 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.ydb.v1.DatabaseOuterClass.Alert parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert 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.ydb.v1.DatabaseOuterClass.Alert 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.ydb.v1.Alert}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.Alert)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Alert_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Alert_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getNotificationChannelsFieldBuilder();
          getAlertParametersFieldBuilder();
          getAlertThresholdsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        alertId_ = "";
        alertTemplateId_ = "";
        name_ = "";
        description_ = "";
        if (notificationChannelsBuilder_ == null) {
          notificationChannels_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          notificationChannelsBuilder_.clear();
        }
        if (alertParametersBuilder_ == null) {
          alertParameters_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          alertParametersBuilder_.clear();
        }
        if (alertThresholdsBuilder_ == null) {
          alertThresholds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          alertThresholdsBuilder_.clear();
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_Alert_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert(this);
        int from_bitField0_ = bitField0_;
        result.alertId_ = alertId_;
        result.alertTemplateId_ = alertTemplateId_;
        result.name_ = name_;
        result.description_ = description_;
        if (notificationChannelsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            notificationChannels_ = java.util.Collections.unmodifiableList(notificationChannels_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.notificationChannels_ = notificationChannels_;
        } else {
          result.notificationChannels_ = notificationChannelsBuilder_.build();
        }
        if (alertParametersBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            alertParameters_ = java.util.Collections.unmodifiableList(alertParameters_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.alertParameters_ = alertParameters_;
        } else {
          result.alertParameters_ = alertParametersBuilder_.build();
        }
        if (alertThresholdsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            alertThresholds_ = java.util.Collections.unmodifiableList(alertThresholds_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.alertThresholds_ = alertThresholds_;
        } else {
          result.alertThresholds_ = alertThresholdsBuilder_.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.ydb.v1.DatabaseOuterClass.Alert) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.getDefaultInstance()) return this;
        if (!other.getAlertId().isEmpty()) {
          alertId_ = other.alertId_;
          onChanged();
        }
        if (!other.getAlertTemplateId().isEmpty()) {
          alertTemplateId_ = other.alertTemplateId_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (!other.getDescription().isEmpty()) {
          description_ = other.description_;
          onChanged();
        }
        if (notificationChannelsBuilder_ == null) {
          if (!other.notificationChannels_.isEmpty()) {
            if (notificationChannels_.isEmpty()) {
              notificationChannels_ = other.notificationChannels_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureNotificationChannelsIsMutable();
              notificationChannels_.addAll(other.notificationChannels_);
            }
            onChanged();
          }
        } else {
          if (!other.notificationChannels_.isEmpty()) {
            if (notificationChannelsBuilder_.isEmpty()) {
              notificationChannelsBuilder_.dispose();
              notificationChannelsBuilder_ = null;
              notificationChannels_ = other.notificationChannels_;
              bitField0_ = (bitField0_ & ~0x00000001);
              notificationChannelsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getNotificationChannelsFieldBuilder() : null;
            } else {
              notificationChannelsBuilder_.addAllMessages(other.notificationChannels_);
            }
          }
        }
        if (alertParametersBuilder_ == null) {
          if (!other.alertParameters_.isEmpty()) {
            if (alertParameters_.isEmpty()) {
              alertParameters_ = other.alertParameters_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureAlertParametersIsMutable();
              alertParameters_.addAll(other.alertParameters_);
            }
            onChanged();
          }
        } else {
          if (!other.alertParameters_.isEmpty()) {
            if (alertParametersBuilder_.isEmpty()) {
              alertParametersBuilder_.dispose();
              alertParametersBuilder_ = null;
              alertParameters_ = other.alertParameters_;
              bitField0_ = (bitField0_ & ~0x00000002);
              alertParametersBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAlertParametersFieldBuilder() : null;
            } else {
              alertParametersBuilder_.addAllMessages(other.alertParameters_);
            }
          }
        }
        if (alertThresholdsBuilder_ == null) {
          if (!other.alertThresholds_.isEmpty()) {
            if (alertThresholds_.isEmpty()) {
              alertThresholds_ = other.alertThresholds_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureAlertThresholdsIsMutable();
              alertThresholds_.addAll(other.alertThresholds_);
            }
            onChanged();
          }
        } else {
          if (!other.alertThresholds_.isEmpty()) {
            if (alertThresholdsBuilder_.isEmpty()) {
              alertThresholdsBuilder_.dispose();
              alertThresholdsBuilder_ = null;
              alertThresholds_ = other.alertThresholds_;
              bitField0_ = (bitField0_ & ~0x00000004);
              alertThresholdsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAlertThresholdsFieldBuilder() : null;
            } else {
              alertThresholdsBuilder_.addAllMessages(other.alertThresholds_);
            }
          }
        }
        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.ydb.v1.DatabaseOuterClass.Alert parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object alertId_ = "";
      /**
       * 
       * output only field.
       * 
       *
       * string alert_id = 1;
       * @return The alertId.
       */
      public java.lang.String getAlertId() {
        java.lang.Object ref = alertId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          alertId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * output only field.
       * 
       *
       * string alert_id = 1;
       * @return The bytes for alertId.
       */
      public com.google.protobuf.ByteString
          getAlertIdBytes() {
        java.lang.Object ref = alertId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          alertId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * output only field.
       * 
       *
       * string alert_id = 1;
       * @param value The alertId to set.
       * @return This builder for chaining.
       */
      public Builder setAlertId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        alertId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * output only field.
       * 
       *
       * string alert_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearAlertId() {
        
        alertId_ = getDefaultInstance().getAlertId();
        onChanged();
        return this;
      }
      /**
       * 
       * output only field.
       * 
       *
       * string alert_id = 1;
       * @param value The bytes for alertId to set.
       * @return This builder for chaining.
       */
      public Builder setAlertIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        alertId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object alertTemplateId_ = "";
      /**
       * 
       * template of the alert.
       * 
       *
       * string alert_template_id = 2;
       * @return The alertTemplateId.
       */
      public java.lang.String getAlertTemplateId() {
        java.lang.Object ref = alertTemplateId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          alertTemplateId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * template of the alert.
       * 
       *
       * string alert_template_id = 2;
       * @return The bytes for alertTemplateId.
       */
      public com.google.protobuf.ByteString
          getAlertTemplateIdBytes() {
        java.lang.Object ref = alertTemplateId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          alertTemplateId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * template of the alert.
       * 
       *
       * string alert_template_id = 2;
       * @param value The alertTemplateId to set.
       * @return This builder for chaining.
       */
      public Builder setAlertTemplateId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        alertTemplateId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * template of the alert.
       * 
       *
       * string alert_template_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearAlertTemplateId() {
        
        alertTemplateId_ = getDefaultInstance().getAlertTemplateId();
        onChanged();
        return this;
      }
      /**
       * 
       * template of the alert.
       * 
       *
       * string alert_template_id = 2;
       * @param value The bytes for alertTemplateId to set.
       * @return This builder for chaining.
       */
      public Builder setAlertTemplateIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        alertTemplateId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object name_ = "";
      /**
       * 
       * name of the alert.
       * 
       *
       * string name = 3;
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * name of the alert.
       * 
       *
       * string name = 3;
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * name of the alert.
       * 
       *
       * string name = 3;
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * name of the alert.
       * 
       *
       * string name = 3;
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * 
       * name of the alert.
       * 
       *
       * string name = 3;
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object description_ = "";
      /**
       * 
       * human readable description of the alert.
       * 
       *
       * string description = 4;
       * @return The description.
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          description_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * human readable description of the alert.
       * 
       *
       * string description = 4;
       * @return The bytes for description.
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * human readable description of the alert.
       * 
       *
       * string description = 4;
       * @param value The description to set.
       * @return This builder for chaining.
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        description_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * human readable description of the alert.
       * 
       *
       * string description = 4;
       * @return This builder for chaining.
       */
      public Builder clearDescription() {
        
        description_ = getDefaultInstance().getDescription();
        onChanged();
        return this;
      }
      /**
       * 
       * human readable description of the alert.
       * 
       *
       * string description = 4;
       * @param value The bytes for description to set.
       * @return This builder for chaining.
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        description_ = value;
        onChanged();
        return this;
      }
      private java.util.List notificationChannels_ =
        java.util.Collections.emptyList();
      private void ensureNotificationChannelsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          notificationChannels_ = new java.util.ArrayList(notificationChannels_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder> notificationChannelsBuilder_;
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public java.util.List getNotificationChannelsList() {
        if (notificationChannelsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(notificationChannels_);
        } else {
          return notificationChannelsBuilder_.getMessageList();
        }
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public int getNotificationChannelsCount() {
        if (notificationChannelsBuilder_ == null) {
          return notificationChannels_.size();
        } else {
          return notificationChannelsBuilder_.getCount();
        }
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel getNotificationChannels(int index) {
        if (notificationChannelsBuilder_ == null) {
          return notificationChannels_.get(index);
        } else {
          return notificationChannelsBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder setNotificationChannels(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel value) {
        if (notificationChannelsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNotificationChannelsIsMutable();
          notificationChannels_.set(index, value);
          onChanged();
        } else {
          notificationChannelsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder setNotificationChannels(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder builderForValue) {
        if (notificationChannelsBuilder_ == null) {
          ensureNotificationChannelsIsMutable();
          notificationChannels_.set(index, builderForValue.build());
          onChanged();
        } else {
          notificationChannelsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder addNotificationChannels(yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel value) {
        if (notificationChannelsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNotificationChannelsIsMutable();
          notificationChannels_.add(value);
          onChanged();
        } else {
          notificationChannelsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder addNotificationChannels(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel value) {
        if (notificationChannelsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNotificationChannelsIsMutable();
          notificationChannels_.add(index, value);
          onChanged();
        } else {
          notificationChannelsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder addNotificationChannels(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder builderForValue) {
        if (notificationChannelsBuilder_ == null) {
          ensureNotificationChannelsIsMutable();
          notificationChannels_.add(builderForValue.build());
          onChanged();
        } else {
          notificationChannelsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder addNotificationChannels(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder builderForValue) {
        if (notificationChannelsBuilder_ == null) {
          ensureNotificationChannelsIsMutable();
          notificationChannels_.add(index, builderForValue.build());
          onChanged();
        } else {
          notificationChannelsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder addAllNotificationChannels(
          java.lang.Iterable extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel> values) {
        if (notificationChannelsBuilder_ == null) {
          ensureNotificationChannelsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, notificationChannels_);
          onChanged();
        } else {
          notificationChannelsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder clearNotificationChannels() {
        if (notificationChannelsBuilder_ == null) {
          notificationChannels_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          notificationChannelsBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public Builder removeNotificationChannels(int index) {
        if (notificationChannelsBuilder_ == null) {
          ensureNotificationChannelsIsMutable();
          notificationChannels_.remove(index);
          onChanged();
        } else {
          notificationChannelsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder getNotificationChannelsBuilder(
          int index) {
        return getNotificationChannelsFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder getNotificationChannelsOrBuilder(
          int index) {
        if (notificationChannelsBuilder_ == null) {
          return notificationChannels_.get(index);  } else {
          return notificationChannelsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder> 
           getNotificationChannelsOrBuilderList() {
        if (notificationChannelsBuilder_ != null) {
          return notificationChannelsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(notificationChannels_);
        }
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder addNotificationChannelsBuilder() {
        return getNotificationChannelsFieldBuilder().addBuilder(
            yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.getDefaultInstance());
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder addNotificationChannelsBuilder(
          int index) {
        return getNotificationChannelsFieldBuilder().addBuilder(
            index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.getDefaultInstance());
      }
      /**
       * 
       * the notification channels of the alert.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.NotificationChannel notification_channels = 5;
       */
      public java.util.List 
           getNotificationChannelsBuilderList() {
        return getNotificationChannelsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder> 
          getNotificationChannelsFieldBuilder() {
        if (notificationChannelsBuilder_ == null) {
          notificationChannelsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannel.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.NotificationChannelOrBuilder>(
                  notificationChannels_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          notificationChannels_ = null;
        }
        return notificationChannelsBuilder_;
      }
      private java.util.List alertParameters_ =
        java.util.Collections.emptyList();
      private void ensureAlertParametersIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          alertParameters_ = new java.util.ArrayList(alertParameters_);
          bitField0_ |= 0x00000002;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> alertParametersBuilder_;
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public java.util.List getAlertParametersList() {
        if (alertParametersBuilder_ == null) {
          return java.util.Collections.unmodifiableList(alertParameters_);
        } else {
          return alertParametersBuilder_.getMessageList();
        }
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public int getAlertParametersCount() {
        if (alertParametersBuilder_ == null) {
          return alertParameters_.size();
        } else {
          return alertParametersBuilder_.getCount();
        }
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getAlertParameters(int index) {
        if (alertParametersBuilder_ == null) {
          return alertParameters_.get(index);
        } else {
          return alertParametersBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder setAlertParameters(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter value) {
        if (alertParametersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertParametersIsMutable();
          alertParameters_.set(index, value);
          onChanged();
        } else {
          alertParametersBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder setAlertParameters(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder builderForValue) {
        if (alertParametersBuilder_ == null) {
          ensureAlertParametersIsMutable();
          alertParameters_.set(index, builderForValue.build());
          onChanged();
        } else {
          alertParametersBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder addAlertParameters(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter value) {
        if (alertParametersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertParametersIsMutable();
          alertParameters_.add(value);
          onChanged();
        } else {
          alertParametersBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder addAlertParameters(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter value) {
        if (alertParametersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertParametersIsMutable();
          alertParameters_.add(index, value);
          onChanged();
        } else {
          alertParametersBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder addAlertParameters(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder builderForValue) {
        if (alertParametersBuilder_ == null) {
          ensureAlertParametersIsMutable();
          alertParameters_.add(builderForValue.build());
          onChanged();
        } else {
          alertParametersBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder addAlertParameters(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder builderForValue) {
        if (alertParametersBuilder_ == null) {
          ensureAlertParametersIsMutable();
          alertParameters_.add(index, builderForValue.build());
          onChanged();
        } else {
          alertParametersBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder addAllAlertParameters(
          java.lang.Iterable extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter> values) {
        if (alertParametersBuilder_ == null) {
          ensureAlertParametersIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, alertParameters_);
          onChanged();
        } else {
          alertParametersBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder clearAlertParameters() {
        if (alertParametersBuilder_ == null) {
          alertParameters_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          alertParametersBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public Builder removeAlertParameters(int index) {
        if (alertParametersBuilder_ == null) {
          ensureAlertParametersIsMutable();
          alertParameters_.remove(index);
          onChanged();
        } else {
          alertParametersBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder getAlertParametersBuilder(
          int index) {
        return getAlertParametersFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder getAlertParametersOrBuilder(
          int index) {
        if (alertParametersBuilder_ == null) {
          return alertParameters_.get(index);  } else {
          return alertParametersBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
           getAlertParametersOrBuilderList() {
        if (alertParametersBuilder_ != null) {
          return alertParametersBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(alertParameters_);
        }
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder addAlertParametersBuilder() {
        return getAlertParametersFieldBuilder().addBuilder(
            yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.getDefaultInstance());
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder addAlertParametersBuilder(
          int index) {
        return getAlertParametersFieldBuilder().addBuilder(
            index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.getDefaultInstance());
      }
      /**
       * 
       * alert parameters to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_parameters = 6;
       */
      public java.util.List 
           getAlertParametersBuilderList() {
        return getAlertParametersFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
          getAlertParametersFieldBuilder() {
        if (alertParametersBuilder_ == null) {
          alertParametersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder>(
                  alertParameters_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          alertParameters_ = null;
        }
        return alertParametersBuilder_;
      }
      private java.util.List alertThresholds_ =
        java.util.Collections.emptyList();
      private void ensureAlertThresholdsIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          alertThresholds_ = new java.util.ArrayList(alertThresholds_);
          bitField0_ |= 0x00000004;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> alertThresholdsBuilder_;
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public java.util.List getAlertThresholdsList() {
        if (alertThresholdsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(alertThresholds_);
        } else {
          return alertThresholdsBuilder_.getMessageList();
        }
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public int getAlertThresholdsCount() {
        if (alertThresholdsBuilder_ == null) {
          return alertThresholds_.size();
        } else {
          return alertThresholdsBuilder_.getCount();
        }
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter getAlertThresholds(int index) {
        if (alertThresholdsBuilder_ == null) {
          return alertThresholds_.get(index);
        } else {
          return alertThresholdsBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder setAlertThresholds(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter value) {
        if (alertThresholdsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertThresholdsIsMutable();
          alertThresholds_.set(index, value);
          onChanged();
        } else {
          alertThresholdsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder setAlertThresholds(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder builderForValue) {
        if (alertThresholdsBuilder_ == null) {
          ensureAlertThresholdsIsMutable();
          alertThresholds_.set(index, builderForValue.build());
          onChanged();
        } else {
          alertThresholdsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder addAlertThresholds(yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter value) {
        if (alertThresholdsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertThresholdsIsMutable();
          alertThresholds_.add(value);
          onChanged();
        } else {
          alertThresholdsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder addAlertThresholds(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter value) {
        if (alertThresholdsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertThresholdsIsMutable();
          alertThresholds_.add(index, value);
          onChanged();
        } else {
          alertThresholdsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder addAlertThresholds(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder builderForValue) {
        if (alertThresholdsBuilder_ == null) {
          ensureAlertThresholdsIsMutable();
          alertThresholds_.add(builderForValue.build());
          onChanged();
        } else {
          alertThresholdsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder addAlertThresholds(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder builderForValue) {
        if (alertThresholdsBuilder_ == null) {
          ensureAlertThresholdsIsMutable();
          alertThresholds_.add(index, builderForValue.build());
          onChanged();
        } else {
          alertThresholdsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder addAllAlertThresholds(
          java.lang.Iterable extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter> values) {
        if (alertThresholdsBuilder_ == null) {
          ensureAlertThresholdsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, alertThresholds_);
          onChanged();
        } else {
          alertThresholdsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder clearAlertThresholds() {
        if (alertThresholdsBuilder_ == null) {
          alertThresholds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          alertThresholdsBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public Builder removeAlertThresholds(int index) {
        if (alertThresholdsBuilder_ == null) {
          ensureAlertThresholdsIsMutable();
          alertThresholds_.remove(index);
          onChanged();
        } else {
          alertThresholdsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder getAlertThresholdsBuilder(
          int index) {
        return getAlertThresholdsFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder getAlertThresholdsOrBuilder(
          int index) {
        if (alertThresholdsBuilder_ == null) {
          return alertThresholds_.get(index);  } else {
          return alertThresholdsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
           getAlertThresholdsOrBuilderList() {
        if (alertThresholdsBuilder_ != null) {
          return alertThresholdsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(alertThresholds_);
        }
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder addAlertThresholdsBuilder() {
        return getAlertThresholdsFieldBuilder().addBuilder(
            yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.getDefaultInstance());
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder addAlertThresholdsBuilder(
          int index) {
        return getAlertThresholdsFieldBuilder().addBuilder(
            index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.getDefaultInstance());
      }
      /**
       * 
       * alert paratemers to override.
       * 
       *
       * repeated .yandex.cloud.ydb.v1.AlertParameter alert_thresholds = 7;
       */
      public java.util.List 
           getAlertThresholdsBuilderList() {
        return getAlertThresholdsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder> 
          getAlertThresholdsFieldBuilder() {
        if (alertThresholdsBuilder_ == null) {
          alertThresholdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameter.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertParameterOrBuilder>(
                  alertThresholds_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          alertThresholds_ = null;
        }
        return alertThresholdsBuilder_;
      }
      @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.ydb.v1.Alert)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.Alert)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Alert parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Alert(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.ydb.v1.DatabaseOuterClass.Alert getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface MonitoringConfigOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.MonitoringConfig)
      com.google.protobuf.MessageOrBuilder {
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    java.util.List 
        getAlertsList();
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert getAlerts(int index);
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    int getAlertsCount();
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder> 
        getAlertsOrBuilderList();
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder getAlertsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.MonitoringConfig}
   */
  public static final class MonitoringConfig extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.MonitoringConfig)
      MonitoringConfigOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MonitoringConfig.newBuilder() to construct.
    private MonitoringConfig(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private MonitoringConfig() {
      alerts_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MonitoringConfig();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MonitoringConfig(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                alerts_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              alerts_.add(
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.parser(), extensionRegistry));
              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)) {
          alerts_ = java.util.Collections.unmodifiableList(alerts_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_MonitoringConfig_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_MonitoringConfig_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder.class);
    }
    public static final int ALERTS_FIELD_NUMBER = 1;
    private java.util.List alerts_;
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    @java.lang.Override
    public java.util.List getAlertsList() {
      return alerts_;
    }
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder> 
        getAlertsOrBuilderList() {
      return alerts_;
    }
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    @java.lang.Override
    public int getAlertsCount() {
      return alerts_.size();
    }
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert getAlerts(int index) {
      return alerts_.get(index);
    }
    /**
     * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder getAlertsOrBuilder(
        int index) {
      return alerts_.get(index);
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < alerts_.size(); i++) {
        output.writeMessage(1, alerts_.get(i));
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      for (int i = 0; i < alerts_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, alerts_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig) obj;
      if (!getAlertsList()
          .equals(other.getAlertsList())) 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 (getAlertsCount() > 0) {
        hash = (37 * hash) + ALERTS_FIELD_NUMBER;
        hash = (53 * hash) + getAlertsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig 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.ydb.v1.DatabaseOuterClass.MonitoringConfig parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig 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.ydb.v1.DatabaseOuterClass.MonitoringConfig parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig 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.ydb.v1.DatabaseOuterClass.MonitoringConfig parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig 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.ydb.v1.DatabaseOuterClass.MonitoringConfig parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig 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.ydb.v1.DatabaseOuterClass.MonitoringConfig 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.ydb.v1.MonitoringConfig}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.MonitoringConfig)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfigOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_MonitoringConfig_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_MonitoringConfig_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAlertsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (alertsBuilder_ == null) {
          alerts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          alertsBuilder_.clear();
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_MonitoringConfig_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig(this);
        int from_bitField0_ = bitField0_;
        if (alertsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            alerts_ = java.util.Collections.unmodifiableList(alerts_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.alerts_ = alerts_;
        } else {
          result.alerts_ = alertsBuilder_.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.ydb.v1.DatabaseOuterClass.MonitoringConfig) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig.getDefaultInstance()) return this;
        if (alertsBuilder_ == null) {
          if (!other.alerts_.isEmpty()) {
            if (alerts_.isEmpty()) {
              alerts_ = other.alerts_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureAlertsIsMutable();
              alerts_.addAll(other.alerts_);
            }
            onChanged();
          }
        } else {
          if (!other.alerts_.isEmpty()) {
            if (alertsBuilder_.isEmpty()) {
              alertsBuilder_.dispose();
              alertsBuilder_ = null;
              alerts_ = other.alerts_;
              bitField0_ = (bitField0_ & ~0x00000001);
              alertsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAlertsFieldBuilder() : null;
            } else {
              alertsBuilder_.addAllMessages(other.alerts_);
            }
          }
        }
        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.ydb.v1.DatabaseOuterClass.MonitoringConfig parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List alerts_ =
        java.util.Collections.emptyList();
      private void ensureAlertsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          alerts_ = new java.util.ArrayList(alerts_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder> alertsBuilder_;
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public java.util.List getAlertsList() {
        if (alertsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(alerts_);
        } else {
          return alertsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public int getAlertsCount() {
        if (alertsBuilder_ == null) {
          return alerts_.size();
        } else {
          return alertsBuilder_.getCount();
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert getAlerts(int index) {
        if (alertsBuilder_ == null) {
          return alerts_.get(index);
        } else {
          return alertsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder setAlerts(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert value) {
        if (alertsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertsIsMutable();
          alerts_.set(index, value);
          onChanged();
        } else {
          alertsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder setAlerts(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder builderForValue) {
        if (alertsBuilder_ == null) {
          ensureAlertsIsMutable();
          alerts_.set(index, builderForValue.build());
          onChanged();
        } else {
          alertsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder addAlerts(yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert value) {
        if (alertsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertsIsMutable();
          alerts_.add(value);
          onChanged();
        } else {
          alertsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder addAlerts(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert value) {
        if (alertsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlertsIsMutable();
          alerts_.add(index, value);
          onChanged();
        } else {
          alertsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder addAlerts(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder builderForValue) {
        if (alertsBuilder_ == null) {
          ensureAlertsIsMutable();
          alerts_.add(builderForValue.build());
          onChanged();
        } else {
          alertsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder addAlerts(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder builderForValue) {
        if (alertsBuilder_ == null) {
          ensureAlertsIsMutable();
          alerts_.add(index, builderForValue.build());
          onChanged();
        } else {
          alertsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder addAllAlerts(
          java.lang.Iterable extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert> values) {
        if (alertsBuilder_ == null) {
          ensureAlertsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, alerts_);
          onChanged();
        } else {
          alertsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder clearAlerts() {
        if (alertsBuilder_ == null) {
          alerts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          alertsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public Builder removeAlerts(int index) {
        if (alertsBuilder_ == null) {
          ensureAlertsIsMutable();
          alerts_.remove(index);
          onChanged();
        } else {
          alertsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder getAlertsBuilder(
          int index) {
        return getAlertsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder getAlertsOrBuilder(
          int index) {
        if (alertsBuilder_ == null) {
          return alerts_.get(index);  } else {
          return alertsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder> 
           getAlertsOrBuilderList() {
        if (alertsBuilder_ != null) {
          return alertsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(alerts_);
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder addAlertsBuilder() {
        return getAlertsFieldBuilder().addBuilder(
            yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.getDefaultInstance());
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder addAlertsBuilder(
          int index) {
        return getAlertsFieldBuilder().addBuilder(
            index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.getDefaultInstance());
      }
      /**
       * repeated .yandex.cloud.ydb.v1.Alert alerts = 1;
       */
      public java.util.List 
           getAlertsBuilderList() {
        return getAlertsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder> 
          getAlertsFieldBuilder() {
        if (alertsBuilder_ == null) {
          alertsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert, yandex.cloud.api.ydb.v1.DatabaseOuterClass.Alert.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.AlertOrBuilder>(
                  alerts_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          alerts_ = null;
        }
        return alertsBuilder_;
      }
      @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.ydb.v1.MonitoringConfig)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.MonitoringConfig)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.MonitoringConfig getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public MonitoringConfig parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MonitoringConfig(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.ydb.v1.DatabaseOuterClass.MonitoringConfig getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface DedicatedDatabaseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.DedicatedDatabase)
      com.google.protobuf.MessageOrBuilder {
    /**
     * string resource_preset_id = 1;
     * @return The resourcePresetId.
     */
    java.lang.String getResourcePresetId();
    /**
     * string resource_preset_id = 1;
     * @return The bytes for resourcePresetId.
     */
    com.google.protobuf.ByteString
        getResourcePresetIdBytes();
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
     * @return Whether the storageConfig field is set.
     */
    boolean hasStorageConfig();
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
     * @return The storageConfig.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getStorageConfig();
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder getStorageConfigOrBuilder();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
     * @return Whether the scalePolicy field is set.
     */
    boolean hasScalePolicy();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
     * @return The scalePolicy.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getScalePolicy();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder getScalePolicyOrBuilder();
    /**
     * string network_id = 4;
     * @return The networkId.
     */
    java.lang.String getNetworkId();
    /**
     * string network_id = 4;
     * @return The bytes for networkId.
     */
    com.google.protobuf.ByteString
        getNetworkIdBytes();
    /**
     * repeated string subnet_ids = 5;
     * @return A list containing the subnetIds.
     */
    java.util.List
        getSubnetIdsList();
    /**
     * repeated string subnet_ids = 5;
     * @return The count of subnetIds.
     */
    int getSubnetIdsCount();
    /**
     * repeated string subnet_ids = 5;
     * @param index The index of the element to return.
     * @return The subnetIds at the given index.
     */
    java.lang.String getSubnetIds(int index);
    /**
     * repeated string subnet_ids = 5;
     * @param index The index of the value to return.
     * @return The bytes of the subnetIds at the given index.
     */
    com.google.protobuf.ByteString
        getSubnetIdsBytes(int index);
    /**
     * bool assign_public_ips = 6;
     * @return The assignPublicIps.
     */
    boolean getAssignPublicIps();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.DedicatedDatabase}
   */
  public static final class DedicatedDatabase extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.DedicatedDatabase)
      DedicatedDatabaseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DedicatedDatabase.newBuilder() to construct.
    private DedicatedDatabase(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private DedicatedDatabase() {
      resourcePresetId_ = "";
      networkId_ = "";
      subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DedicatedDatabase();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DedicatedDatabase(
        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();
              resourcePresetId_ = s;
              break;
            }
            case 18: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder subBuilder = null;
              if (storageConfig_ != null) {
                subBuilder = storageConfig_.toBuilder();
              }
              storageConfig_ = input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(storageConfig_);
                storageConfig_ = subBuilder.buildPartial();
              }
              break;
            }
            case 26: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder subBuilder = null;
              if (scalePolicy_ != null) {
                subBuilder = scalePolicy_.toBuilder();
              }
              scalePolicy_ = input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(scalePolicy_);
                scalePolicy_ = subBuilder.buildPartial();
              }
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              networkId_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                subnetIds_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              subnetIds_.add(s);
              break;
            }
            case 48: {
              assignPublicIps_ = 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)) {
          subnetIds_ = subnetIds_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder.class);
    }
    public static final int RESOURCE_PRESET_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object resourcePresetId_;
    /**
     * string resource_preset_id = 1;
     * @return The resourcePresetId.
     */
    @java.lang.Override
    public java.lang.String getResourcePresetId() {
      java.lang.Object ref = resourcePresetId_;
      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();
        resourcePresetId_ = s;
        return s;
      }
    }
    /**
     * string resource_preset_id = 1;
     * @return The bytes for resourcePresetId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResourcePresetIdBytes() {
      java.lang.Object ref = resourcePresetId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        resourcePresetId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int STORAGE_CONFIG_FIELD_NUMBER = 2;
    private yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig storageConfig_;
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
     * @return Whether the storageConfig field is set.
     */
    @java.lang.Override
    public boolean hasStorageConfig() {
      return storageConfig_ != null;
    }
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
     * @return The storageConfig.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getStorageConfig() {
      return storageConfig_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance() : storageConfig_;
    }
    /**
     * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder getStorageConfigOrBuilder() {
      return getStorageConfig();
    }
    public static final int SCALE_POLICY_FIELD_NUMBER = 3;
    private yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy scalePolicy_;
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
     * @return Whether the scalePolicy field is set.
     */
    @java.lang.Override
    public boolean hasScalePolicy() {
      return scalePolicy_ != null;
    }
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
     * @return The scalePolicy.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getScalePolicy() {
      return scalePolicy_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance() : scalePolicy_;
    }
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder getScalePolicyOrBuilder() {
      return getScalePolicy();
    }
    public static final int NETWORK_ID_FIELD_NUMBER = 4;
    private volatile java.lang.Object networkId_;
    /**
     * string network_id = 4;
     * @return The networkId.
     */
    @java.lang.Override
    public java.lang.String getNetworkId() {
      java.lang.Object ref = networkId_;
      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();
        networkId_ = s;
        return s;
      }
    }
    /**
     * string network_id = 4;
     * @return The bytes for networkId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNetworkIdBytes() {
      java.lang.Object ref = networkId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        networkId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int SUBNET_IDS_FIELD_NUMBER = 5;
    private com.google.protobuf.LazyStringList subnetIds_;
    /**
     * repeated string subnet_ids = 5;
     * @return A list containing the subnetIds.
     */
    public com.google.protobuf.ProtocolStringList
        getSubnetIdsList() {
      return subnetIds_;
    }
    /**
     * repeated string subnet_ids = 5;
     * @return The count of subnetIds.
     */
    public int getSubnetIdsCount() {
      return subnetIds_.size();
    }
    /**
     * repeated string subnet_ids = 5;
     * @param index The index of the element to return.
     * @return The subnetIds at the given index.
     */
    public java.lang.String getSubnetIds(int index) {
      return subnetIds_.get(index);
    }
    /**
     * repeated string subnet_ids = 5;
     * @param index The index of the value to return.
     * @return The bytes of the subnetIds at the given index.
     */
    public com.google.protobuf.ByteString
        getSubnetIdsBytes(int index) {
      return subnetIds_.getByteString(index);
    }
    public static final int ASSIGN_PUBLIC_IPS_FIELD_NUMBER = 6;
    private boolean assignPublicIps_;
    /**
     * bool assign_public_ips = 6;
     * @return The assignPublicIps.
     */
    @java.lang.Override
    public boolean getAssignPublicIps() {
      return assignPublicIps_;
    }
    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(resourcePresetId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, resourcePresetId_);
      }
      if (storageConfig_ != null) {
        output.writeMessage(2, getStorageConfig());
      }
      if (scalePolicy_ != null) {
        output.writeMessage(3, getScalePolicy());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(networkId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, networkId_);
      }
      for (int i = 0; i < subnetIds_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, subnetIds_.getRaw(i));
      }
      if (assignPublicIps_ != false) {
        output.writeBool(6, assignPublicIps_);
      }
      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(resourcePresetId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, resourcePresetId_);
      }
      if (storageConfig_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getStorageConfig());
      }
      if (scalePolicy_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getScalePolicy());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(networkId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, networkId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < subnetIds_.size(); i++) {
          dataSize += computeStringSizeNoTag(subnetIds_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSubnetIdsList().size();
      }
      if (assignPublicIps_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, assignPublicIps_);
      }
      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.ydb.v1.DatabaseOuterClass.DedicatedDatabase)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) obj;
      if (!getResourcePresetId()
          .equals(other.getResourcePresetId())) return false;
      if (hasStorageConfig() != other.hasStorageConfig()) return false;
      if (hasStorageConfig()) {
        if (!getStorageConfig()
            .equals(other.getStorageConfig())) return false;
      }
      if (hasScalePolicy() != other.hasScalePolicy()) return false;
      if (hasScalePolicy()) {
        if (!getScalePolicy()
            .equals(other.getScalePolicy())) return false;
      }
      if (!getNetworkId()
          .equals(other.getNetworkId())) return false;
      if (!getSubnetIdsList()
          .equals(other.getSubnetIdsList())) return false;
      if (getAssignPublicIps()
          != other.getAssignPublicIps()) 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) + RESOURCE_PRESET_ID_FIELD_NUMBER;
      hash = (53 * hash) + getResourcePresetId().hashCode();
      if (hasStorageConfig()) {
        hash = (37 * hash) + STORAGE_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getStorageConfig().hashCode();
      }
      if (hasScalePolicy()) {
        hash = (37 * hash) + SCALE_POLICY_FIELD_NUMBER;
        hash = (53 * hash) + getScalePolicy().hashCode();
      }
      hash = (37 * hash) + NETWORK_ID_FIELD_NUMBER;
      hash = (53 * hash) + getNetworkId().hashCode();
      if (getSubnetIdsCount() > 0) {
        hash = (37 * hash) + SUBNET_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getSubnetIdsList().hashCode();
      }
      hash = (37 * hash) + ASSIGN_PUBLIC_IPS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getAssignPublicIps());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase 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.ydb.v1.DatabaseOuterClass.DedicatedDatabase parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase 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.ydb.v1.DatabaseOuterClass.DedicatedDatabase parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase 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.ydb.v1.DatabaseOuterClass.DedicatedDatabase parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase 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.ydb.v1.DatabaseOuterClass.DedicatedDatabase parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase 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.ydb.v1.DatabaseOuterClass.DedicatedDatabase 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.ydb.v1.DedicatedDatabase}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.DedicatedDatabase)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabaseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.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();
        resourcePresetId_ = "";
        if (storageConfigBuilder_ == null) {
          storageConfig_ = null;
        } else {
          storageConfig_ = null;
          storageConfigBuilder_ = null;
        }
        if (scalePolicyBuilder_ == null) {
          scalePolicy_ = null;
        } else {
          scalePolicy_ = null;
          scalePolicyBuilder_ = null;
        }
        networkId_ = "";
        subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        assignPublicIps_ = false;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase(this);
        int from_bitField0_ = bitField0_;
        result.resourcePresetId_ = resourcePresetId_;
        if (storageConfigBuilder_ == null) {
          result.storageConfig_ = storageConfig_;
        } else {
          result.storageConfig_ = storageConfigBuilder_.build();
        }
        if (scalePolicyBuilder_ == null) {
          result.scalePolicy_ = scalePolicy_;
        } else {
          result.scalePolicy_ = scalePolicyBuilder_.build();
        }
        result.networkId_ = networkId_;
        if (((bitField0_ & 0x00000001) != 0)) {
          subnetIds_ = subnetIds_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.subnetIds_ = subnetIds_;
        result.assignPublicIps_ = assignPublicIps_;
        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.ydb.v1.DatabaseOuterClass.DedicatedDatabase) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase.getDefaultInstance()) return this;
        if (!other.getResourcePresetId().isEmpty()) {
          resourcePresetId_ = other.resourcePresetId_;
          onChanged();
        }
        if (other.hasStorageConfig()) {
          mergeStorageConfig(other.getStorageConfig());
        }
        if (other.hasScalePolicy()) {
          mergeScalePolicy(other.getScalePolicy());
        }
        if (!other.getNetworkId().isEmpty()) {
          networkId_ = other.networkId_;
          onChanged();
        }
        if (!other.subnetIds_.isEmpty()) {
          if (subnetIds_.isEmpty()) {
            subnetIds_ = other.subnetIds_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureSubnetIdsIsMutable();
            subnetIds_.addAll(other.subnetIds_);
          }
          onChanged();
        }
        if (other.getAssignPublicIps() != false) {
          setAssignPublicIps(other.getAssignPublicIps());
        }
        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.ydb.v1.DatabaseOuterClass.DedicatedDatabase parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object resourcePresetId_ = "";
      /**
       * string resource_preset_id = 1;
       * @return The resourcePresetId.
       */
      public java.lang.String getResourcePresetId() {
        java.lang.Object ref = resourcePresetId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          resourcePresetId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string resource_preset_id = 1;
       * @return The bytes for resourcePresetId.
       */
      public com.google.protobuf.ByteString
          getResourcePresetIdBytes() {
        java.lang.Object ref = resourcePresetId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          resourcePresetId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string resource_preset_id = 1;
       * @param value The resourcePresetId to set.
       * @return This builder for chaining.
       */
      public Builder setResourcePresetId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        resourcePresetId_ = value;
        onChanged();
        return this;
      }
      /**
       * string resource_preset_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearResourcePresetId() {
        
        resourcePresetId_ = getDefaultInstance().getResourcePresetId();
        onChanged();
        return this;
      }
      /**
       * string resource_preset_id = 1;
       * @param value The bytes for resourcePresetId to set.
       * @return This builder for chaining.
       */
      public Builder setResourcePresetIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        resourcePresetId_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig storageConfig_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder> storageConfigBuilder_;
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       * @return Whether the storageConfig field is set.
       */
      public boolean hasStorageConfig() {
        return storageConfigBuilder_ != null || storageConfig_ != null;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       * @return The storageConfig.
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getStorageConfig() {
        if (storageConfigBuilder_ == null) {
          return storageConfig_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance() : storageConfig_;
        } else {
          return storageConfigBuilder_.getMessage();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       */
      public Builder setStorageConfig(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig value) {
        if (storageConfigBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          storageConfig_ = value;
          onChanged();
        } else {
          storageConfigBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       */
      public Builder setStorageConfig(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder builderForValue) {
        if (storageConfigBuilder_ == null) {
          storageConfig_ = builderForValue.build();
          onChanged();
        } else {
          storageConfigBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       */
      public Builder mergeStorageConfig(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig value) {
        if (storageConfigBuilder_ == null) {
          if (storageConfig_ != null) {
            storageConfig_ =
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.newBuilder(storageConfig_).mergeFrom(value).buildPartial();
          } else {
            storageConfig_ = value;
          }
          onChanged();
        } else {
          storageConfigBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       */
      public Builder clearStorageConfig() {
        if (storageConfigBuilder_ == null) {
          storageConfig_ = null;
          onChanged();
        } else {
          storageConfig_ = null;
          storageConfigBuilder_ = null;
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder getStorageConfigBuilder() {
        
        onChanged();
        return getStorageConfigFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder getStorageConfigOrBuilder() {
        if (storageConfigBuilder_ != null) {
          return storageConfigBuilder_.getMessageOrBuilder();
        } else {
          return storageConfig_ == null ?
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance() : storageConfig_;
        }
      }
      /**
       * .yandex.cloud.ydb.v1.StorageConfig storage_config = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder> 
          getStorageConfigFieldBuilder() {
        if (storageConfigBuilder_ == null) {
          storageConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder>(
                  getStorageConfig(),
                  getParentForChildren(),
                  isClean());
          storageConfig_ = null;
        }
        return storageConfigBuilder_;
      }
      private yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy scalePolicy_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder> scalePolicyBuilder_;
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       * @return Whether the scalePolicy field is set.
       */
      public boolean hasScalePolicy() {
        return scalePolicyBuilder_ != null || scalePolicy_ != null;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       * @return The scalePolicy.
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getScalePolicy() {
        if (scalePolicyBuilder_ == null) {
          return scalePolicy_ == null ? yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance() : scalePolicy_;
        } else {
          return scalePolicyBuilder_.getMessage();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       */
      public Builder setScalePolicy(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy value) {
        if (scalePolicyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scalePolicy_ = value;
          onChanged();
        } else {
          scalePolicyBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       */
      public Builder setScalePolicy(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder builderForValue) {
        if (scalePolicyBuilder_ == null) {
          scalePolicy_ = builderForValue.build();
          onChanged();
        } else {
          scalePolicyBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       */
      public Builder mergeScalePolicy(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy value) {
        if (scalePolicyBuilder_ == null) {
          if (scalePolicy_ != null) {
            scalePolicy_ =
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.newBuilder(scalePolicy_).mergeFrom(value).buildPartial();
          } else {
            scalePolicy_ = value;
          }
          onChanged();
        } else {
          scalePolicyBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       */
      public Builder clearScalePolicy() {
        if (scalePolicyBuilder_ == null) {
          scalePolicy_ = null;
          onChanged();
        } else {
          scalePolicy_ = null;
          scalePolicyBuilder_ = null;
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder getScalePolicyBuilder() {
        
        onChanged();
        return getScalePolicyFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder getScalePolicyOrBuilder() {
        if (scalePolicyBuilder_ != null) {
          return scalePolicyBuilder_.getMessageOrBuilder();
        } else {
          return scalePolicy_ == null ?
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance() : scalePolicy_;
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy scale_policy = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder> 
          getScalePolicyFieldBuilder() {
        if (scalePolicyBuilder_ == null) {
          scalePolicyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder>(
                  getScalePolicy(),
                  getParentForChildren(),
                  isClean());
          scalePolicy_ = null;
        }
        return scalePolicyBuilder_;
      }
      private java.lang.Object networkId_ = "";
      /**
       * string network_id = 4;
       * @return The networkId.
       */
      public java.lang.String getNetworkId() {
        java.lang.Object ref = networkId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          networkId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string network_id = 4;
       * @return The bytes for networkId.
       */
      public com.google.protobuf.ByteString
          getNetworkIdBytes() {
        java.lang.Object ref = networkId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          networkId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string network_id = 4;
       * @param value The networkId to set.
       * @return This builder for chaining.
       */
      public Builder setNetworkId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        networkId_ = value;
        onChanged();
        return this;
      }
      /**
       * string network_id = 4;
       * @return This builder for chaining.
       */
      public Builder clearNetworkId() {
        
        networkId_ = getDefaultInstance().getNetworkId();
        onChanged();
        return this;
      }
      /**
       * string network_id = 4;
       * @param value The bytes for networkId to set.
       * @return This builder for chaining.
       */
      public Builder setNetworkIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        networkId_ = value;
        onChanged();
        return this;
      }
      private com.google.protobuf.LazyStringList subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSubnetIdsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          subnetIds_ = new com.google.protobuf.LazyStringArrayList(subnetIds_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated string subnet_ids = 5;
       * @return A list containing the subnetIds.
       */
      public com.google.protobuf.ProtocolStringList
          getSubnetIdsList() {
        return subnetIds_.getUnmodifiableView();
      }
      /**
       * repeated string subnet_ids = 5;
       * @return The count of subnetIds.
       */
      public int getSubnetIdsCount() {
        return subnetIds_.size();
      }
      /**
       * repeated string subnet_ids = 5;
       * @param index The index of the element to return.
       * @return The subnetIds at the given index.
       */
      public java.lang.String getSubnetIds(int index) {
        return subnetIds_.get(index);
      }
      /**
       * repeated string subnet_ids = 5;
       * @param index The index of the value to return.
       * @return The bytes of the subnetIds at the given index.
       */
      public com.google.protobuf.ByteString
          getSubnetIdsBytes(int index) {
        return subnetIds_.getByteString(index);
      }
      /**
       * repeated string subnet_ids = 5;
       * @param index The index to set the value at.
       * @param value The subnetIds to set.
       * @return This builder for chaining.
       */
      public Builder setSubnetIds(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSubnetIdsIsMutable();
        subnetIds_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 5;
       * @param value The subnetIds to add.
       * @return This builder for chaining.
       */
      public Builder addSubnetIds(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSubnetIdsIsMutable();
        subnetIds_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 5;
       * @param values The subnetIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllSubnetIds(
          java.lang.Iterable values) {
        ensureSubnetIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, subnetIds_);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 5;
       * @return This builder for chaining.
       */
      public Builder clearSubnetIds() {
        subnetIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * repeated string subnet_ids = 5;
       * @param value The bytes of the subnetIds to add.
       * @return This builder for chaining.
       */
      public Builder addSubnetIdsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSubnetIdsIsMutable();
        subnetIds_.add(value);
        onChanged();
        return this;
      }
      private boolean assignPublicIps_ ;
      /**
       * bool assign_public_ips = 6;
       * @return The assignPublicIps.
       */
      @java.lang.Override
      public boolean getAssignPublicIps() {
        return assignPublicIps_;
      }
      /**
       * bool assign_public_ips = 6;
       * @param value The assignPublicIps to set.
       * @return This builder for chaining.
       */
      public Builder setAssignPublicIps(boolean value) {
        
        assignPublicIps_ = value;
        onChanged();
        return this;
      }
      /**
       * bool assign_public_ips = 6;
       * @return This builder for chaining.
       */
      public Builder clearAssignPublicIps() {
        
        assignPublicIps_ = 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.ydb.v1.DedicatedDatabase)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.DedicatedDatabase)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.DedicatedDatabase getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public DedicatedDatabase parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DedicatedDatabase(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.ydb.v1.DatabaseOuterClass.DedicatedDatabase getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ServerlessDatabaseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.ServerlessDatabase)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Let's define 1 RU  - 1 request unit
     * Let's define 1 RCU - 1 request capacity unit, which is 1 RU per second.
     * If `enable_throttling_rcu_limit` flag is true, the database will be throttled using `throttling_rcu_limit` value.
     * Otherwise, the database is throttled using the cloud quotas.
     * If zero, all requests will be blocked until non zero value is set.
     * 
     *
     * int64 throttling_rcu_limit = 1;
     * @return The throttlingRcuLimit.
     */
    long getThrottlingRcuLimit();
    /**
     * 
     * Specify serverless database storage size limit. If zero, default value is applied.
     * 
     *
     * int64 storage_size_limit = 2;
     * @return The storageSizeLimit.
     */
    long getStorageSizeLimit();
    /**
     * 
     * If false, the database is throttled by cloud value.
     * 
     *
     * bool enable_throttling_rcu_limit = 3;
     * @return The enableThrottlingRcuLimit.
     */
    boolean getEnableThrottlingRcuLimit();
    /**
     * 
     * Specify the number of provisioned RCUs to pay less if the database has predictable load.
     * You will be charged for the provisioned capacity regularly even if this capacity is not fully consumed.
     * You will be charged for the on-demand consumption only if provisioned capacity is consumed.
     * 
     *
     * int64 provisioned_rcu_limit = 4;
     * @return The provisionedRcuLimit.
     */
    long getProvisionedRcuLimit();
    /**
     * 
     * write quota for topic service, defined in bytes per second.
     * 
     *
     * int64 topic_write_quota = 5;
     * @return The topicWriteQuota.
     */
    long getTopicWriteQuota();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.ServerlessDatabase}
   */
  public static final class ServerlessDatabase extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.ServerlessDatabase)
      ServerlessDatabaseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ServerlessDatabase.newBuilder() to construct.
    private ServerlessDatabase(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ServerlessDatabase() {
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ServerlessDatabase();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ServerlessDatabase(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              throttlingRcuLimit_ = input.readInt64();
              break;
            }
            case 16: {
              storageSizeLimit_ = input.readInt64();
              break;
            }
            case 24: {
              enableThrottlingRcuLimit_ = input.readBool();
              break;
            }
            case 32: {
              provisionedRcuLimit_ = input.readInt64();
              break;
            }
            case 40: {
              topicWriteQuota_ = input.readInt64();
              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 {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder.class);
    }
    public static final int THROTTLING_RCU_LIMIT_FIELD_NUMBER = 1;
    private long throttlingRcuLimit_;
    /**
     * 
     * Let's define 1 RU  - 1 request unit
     * Let's define 1 RCU - 1 request capacity unit, which is 1 RU per second.
     * If `enable_throttling_rcu_limit` flag is true, the database will be throttled using `throttling_rcu_limit` value.
     * Otherwise, the database is throttled using the cloud quotas.
     * If zero, all requests will be blocked until non zero value is set.
     * 
     *
     * int64 throttling_rcu_limit = 1;
     * @return The throttlingRcuLimit.
     */
    @java.lang.Override
    public long getThrottlingRcuLimit() {
      return throttlingRcuLimit_;
    }
    public static final int STORAGE_SIZE_LIMIT_FIELD_NUMBER = 2;
    private long storageSizeLimit_;
    /**
     * 
     * Specify serverless database storage size limit. If zero, default value is applied.
     * 
     *
     * int64 storage_size_limit = 2;
     * @return The storageSizeLimit.
     */
    @java.lang.Override
    public long getStorageSizeLimit() {
      return storageSizeLimit_;
    }
    public static final int ENABLE_THROTTLING_RCU_LIMIT_FIELD_NUMBER = 3;
    private boolean enableThrottlingRcuLimit_;
    /**
     * 
     * If false, the database is throttled by cloud value.
     * 
     *
     * bool enable_throttling_rcu_limit = 3;
     * @return The enableThrottlingRcuLimit.
     */
    @java.lang.Override
    public boolean getEnableThrottlingRcuLimit() {
      return enableThrottlingRcuLimit_;
    }
    public static final int PROVISIONED_RCU_LIMIT_FIELD_NUMBER = 4;
    private long provisionedRcuLimit_;
    /**
     * 
     * Specify the number of provisioned RCUs to pay less if the database has predictable load.
     * You will be charged for the provisioned capacity regularly even if this capacity is not fully consumed.
     * You will be charged for the on-demand consumption only if provisioned capacity is consumed.
     * 
     *
     * int64 provisioned_rcu_limit = 4;
     * @return The provisionedRcuLimit.
     */
    @java.lang.Override
    public long getProvisionedRcuLimit() {
      return provisionedRcuLimit_;
    }
    public static final int TOPIC_WRITE_QUOTA_FIELD_NUMBER = 5;
    private long topicWriteQuota_;
    /**
     * 
     * write quota for topic service, defined in bytes per second.
     * 
     *
     * int64 topic_write_quota = 5;
     * @return The topicWriteQuota.
     */
    @java.lang.Override
    public long getTopicWriteQuota() {
      return topicWriteQuota_;
    }
    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 (throttlingRcuLimit_ != 0L) {
        output.writeInt64(1, throttlingRcuLimit_);
      }
      if (storageSizeLimit_ != 0L) {
        output.writeInt64(2, storageSizeLimit_);
      }
      if (enableThrottlingRcuLimit_ != false) {
        output.writeBool(3, enableThrottlingRcuLimit_);
      }
      if (provisionedRcuLimit_ != 0L) {
        output.writeInt64(4, provisionedRcuLimit_);
      }
      if (topicWriteQuota_ != 0L) {
        output.writeInt64(5, topicWriteQuota_);
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      if (throttlingRcuLimit_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, throttlingRcuLimit_);
      }
      if (storageSizeLimit_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, storageSizeLimit_);
      }
      if (enableThrottlingRcuLimit_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, enableThrottlingRcuLimit_);
      }
      if (provisionedRcuLimit_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, provisionedRcuLimit_);
      }
      if (topicWriteQuota_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, topicWriteQuota_);
      }
      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.ydb.v1.DatabaseOuterClass.ServerlessDatabase)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) obj;
      if (getThrottlingRcuLimit()
          != other.getThrottlingRcuLimit()) return false;
      if (getStorageSizeLimit()
          != other.getStorageSizeLimit()) return false;
      if (getEnableThrottlingRcuLimit()
          != other.getEnableThrottlingRcuLimit()) return false;
      if (getProvisionedRcuLimit()
          != other.getProvisionedRcuLimit()) return false;
      if (getTopicWriteQuota()
          != other.getTopicWriteQuota()) 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) + THROTTLING_RCU_LIMIT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getThrottlingRcuLimit());
      hash = (37 * hash) + STORAGE_SIZE_LIMIT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getStorageSizeLimit());
      hash = (37 * hash) + ENABLE_THROTTLING_RCU_LIMIT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getEnableThrottlingRcuLimit());
      hash = (37 * hash) + PROVISIONED_RCU_LIMIT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getProvisionedRcuLimit());
      hash = (37 * hash) + TOPIC_WRITE_QUOTA_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getTopicWriteQuota());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase 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.ydb.v1.DatabaseOuterClass.ServerlessDatabase parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase 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.ydb.v1.DatabaseOuterClass.ServerlessDatabase parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase 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.ydb.v1.DatabaseOuterClass.ServerlessDatabase parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase 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.ydb.v1.DatabaseOuterClass.ServerlessDatabase parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase 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.ydb.v1.DatabaseOuterClass.ServerlessDatabase 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.ydb.v1.ServerlessDatabase}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.ServerlessDatabase)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabaseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.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();
        throttlingRcuLimit_ = 0L;
        storageSizeLimit_ = 0L;
        enableThrottlingRcuLimit_ = false;
        provisionedRcuLimit_ = 0L;
        topicWriteQuota_ = 0L;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase(this);
        result.throttlingRcuLimit_ = throttlingRcuLimit_;
        result.storageSizeLimit_ = storageSizeLimit_;
        result.enableThrottlingRcuLimit_ = enableThrottlingRcuLimit_;
        result.provisionedRcuLimit_ = provisionedRcuLimit_;
        result.topicWriteQuota_ = topicWriteQuota_;
        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.ydb.v1.DatabaseOuterClass.ServerlessDatabase) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase.getDefaultInstance()) return this;
        if (other.getThrottlingRcuLimit() != 0L) {
          setThrottlingRcuLimit(other.getThrottlingRcuLimit());
        }
        if (other.getStorageSizeLimit() != 0L) {
          setStorageSizeLimit(other.getStorageSizeLimit());
        }
        if (other.getEnableThrottlingRcuLimit() != false) {
          setEnableThrottlingRcuLimit(other.getEnableThrottlingRcuLimit());
        }
        if (other.getProvisionedRcuLimit() != 0L) {
          setProvisionedRcuLimit(other.getProvisionedRcuLimit());
        }
        if (other.getTopicWriteQuota() != 0L) {
          setTopicWriteQuota(other.getTopicWriteQuota());
        }
        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.ydb.v1.DatabaseOuterClass.ServerlessDatabase parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private long throttlingRcuLimit_ ;
      /**
       * 
       * Let's define 1 RU  - 1 request unit
       * Let's define 1 RCU - 1 request capacity unit, which is 1 RU per second.
       * If `enable_throttling_rcu_limit` flag is true, the database will be throttled using `throttling_rcu_limit` value.
       * Otherwise, the database is throttled using the cloud quotas.
       * If zero, all requests will be blocked until non zero value is set.
       * 
       *
       * int64 throttling_rcu_limit = 1;
       * @return The throttlingRcuLimit.
       */
      @java.lang.Override
      public long getThrottlingRcuLimit() {
        return throttlingRcuLimit_;
      }
      /**
       * 
       * Let's define 1 RU  - 1 request unit
       * Let's define 1 RCU - 1 request capacity unit, which is 1 RU per second.
       * If `enable_throttling_rcu_limit` flag is true, the database will be throttled using `throttling_rcu_limit` value.
       * Otherwise, the database is throttled using the cloud quotas.
       * If zero, all requests will be blocked until non zero value is set.
       * 
       *
       * int64 throttling_rcu_limit = 1;
       * @param value The throttlingRcuLimit to set.
       * @return This builder for chaining.
       */
      public Builder setThrottlingRcuLimit(long value) {
        
        throttlingRcuLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Let's define 1 RU  - 1 request unit
       * Let's define 1 RCU - 1 request capacity unit, which is 1 RU per second.
       * If `enable_throttling_rcu_limit` flag is true, the database will be throttled using `throttling_rcu_limit` value.
       * Otherwise, the database is throttled using the cloud quotas.
       * If zero, all requests will be blocked until non zero value is set.
       * 
       *
       * int64 throttling_rcu_limit = 1;
       * @return This builder for chaining.
       */
      public Builder clearThrottlingRcuLimit() {
        
        throttlingRcuLimit_ = 0L;
        onChanged();
        return this;
      }
      private long storageSizeLimit_ ;
      /**
       * 
       * Specify serverless database storage size limit. If zero, default value is applied.
       * 
       *
       * int64 storage_size_limit = 2;
       * @return The storageSizeLimit.
       */
      @java.lang.Override
      public long getStorageSizeLimit() {
        return storageSizeLimit_;
      }
      /**
       * 
       * Specify serverless database storage size limit. If zero, default value is applied.
       * 
       *
       * int64 storage_size_limit = 2;
       * @param value The storageSizeLimit to set.
       * @return This builder for chaining.
       */
      public Builder setStorageSizeLimit(long value) {
        
        storageSizeLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Specify serverless database storage size limit. If zero, default value is applied.
       * 
       *
       * int64 storage_size_limit = 2;
       * @return This builder for chaining.
       */
      public Builder clearStorageSizeLimit() {
        
        storageSizeLimit_ = 0L;
        onChanged();
        return this;
      }
      private boolean enableThrottlingRcuLimit_ ;
      /**
       * 
       * If false, the database is throttled by cloud value.
       * 
       *
       * bool enable_throttling_rcu_limit = 3;
       * @return The enableThrottlingRcuLimit.
       */
      @java.lang.Override
      public boolean getEnableThrottlingRcuLimit() {
        return enableThrottlingRcuLimit_;
      }
      /**
       * 
       * If false, the database is throttled by cloud value.
       * 
       *
       * bool enable_throttling_rcu_limit = 3;
       * @param value The enableThrottlingRcuLimit to set.
       * @return This builder for chaining.
       */
      public Builder setEnableThrottlingRcuLimit(boolean value) {
        
        enableThrottlingRcuLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * If false, the database is throttled by cloud value.
       * 
       *
       * bool enable_throttling_rcu_limit = 3;
       * @return This builder for chaining.
       */
      public Builder clearEnableThrottlingRcuLimit() {
        
        enableThrottlingRcuLimit_ = false;
        onChanged();
        return this;
      }
      private long provisionedRcuLimit_ ;
      /**
       * 
       * Specify the number of provisioned RCUs to pay less if the database has predictable load.
       * You will be charged for the provisioned capacity regularly even if this capacity is not fully consumed.
       * You will be charged for the on-demand consumption only if provisioned capacity is consumed.
       * 
       *
       * int64 provisioned_rcu_limit = 4;
       * @return The provisionedRcuLimit.
       */
      @java.lang.Override
      public long getProvisionedRcuLimit() {
        return provisionedRcuLimit_;
      }
      /**
       * 
       * Specify the number of provisioned RCUs to pay less if the database has predictable load.
       * You will be charged for the provisioned capacity regularly even if this capacity is not fully consumed.
       * You will be charged for the on-demand consumption only if provisioned capacity is consumed.
       * 
       *
       * int64 provisioned_rcu_limit = 4;
       * @param value The provisionedRcuLimit to set.
       * @return This builder for chaining.
       */
      public Builder setProvisionedRcuLimit(long value) {
        
        provisionedRcuLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Specify the number of provisioned RCUs to pay less if the database has predictable load.
       * You will be charged for the provisioned capacity regularly even if this capacity is not fully consumed.
       * You will be charged for the on-demand consumption only if provisioned capacity is consumed.
       * 
       *
       * int64 provisioned_rcu_limit = 4;
       * @return This builder for chaining.
       */
      public Builder clearProvisionedRcuLimit() {
        
        provisionedRcuLimit_ = 0L;
        onChanged();
        return this;
      }
      private long topicWriteQuota_ ;
      /**
       * 
       * write quota for topic service, defined in bytes per second.
       * 
       *
       * int64 topic_write_quota = 5;
       * @return The topicWriteQuota.
       */
      @java.lang.Override
      public long getTopicWriteQuota() {
        return topicWriteQuota_;
      }
      /**
       * 
       * write quota for topic service, defined in bytes per second.
       * 
       *
       * int64 topic_write_quota = 5;
       * @param value The topicWriteQuota to set.
       * @return This builder for chaining.
       */
      public Builder setTopicWriteQuota(long value) {
        
        topicWriteQuota_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * write quota for topic service, defined in bytes per second.
       * 
       *
       * int64 topic_write_quota = 5;
       * @return This builder for chaining.
       */
      public Builder clearTopicWriteQuota() {
        
        topicWriteQuota_ = 0L;
        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.ydb.v1.ServerlessDatabase)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.ServerlessDatabase)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ServerlessDatabase getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ServerlessDatabase parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ServerlessDatabase(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.ydb.v1.DatabaseOuterClass.ServerlessDatabase getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ZonalDatabaseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.ZonalDatabase)
      com.google.protobuf.MessageOrBuilder {
    /**
     * string zone_id = 1 [(.yandex.cloud.required) = true];
     * @return The zoneId.
     */
    java.lang.String getZoneId();
    /**
     * string zone_id = 1 [(.yandex.cloud.required) = true];
     * @return The bytes for zoneId.
     */
    com.google.protobuf.ByteString
        getZoneIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.ZonalDatabase}
   */
  public static final class ZonalDatabase extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.ZonalDatabase)
      ZonalDatabaseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZonalDatabase.newBuilder() to construct.
    private ZonalDatabase(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ZonalDatabase() {
      zoneId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ZonalDatabase();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ZonalDatabase(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();
              zoneId_ = s;
              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 {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ZonalDatabase_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ZonalDatabase_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder.class);
    }
    public static final int ZONE_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object zoneId_;
    /**
     * string zone_id = 1 [(.yandex.cloud.required) = true];
     * @return The zoneId.
     */
    @java.lang.Override
    public java.lang.String getZoneId() {
      java.lang.Object ref = zoneId_;
      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();
        zoneId_ = s;
        return s;
      }
    }
    /**
     * string zone_id = 1 [(.yandex.cloud.required) = true];
     * @return The bytes for zoneId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getZoneIdBytes() {
      java.lang.Object ref = zoneId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        zoneId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    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(zoneId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, zoneId_);
      }
      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(zoneId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, zoneId_);
      }
      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.ydb.v1.DatabaseOuterClass.ZonalDatabase)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) obj;
      if (!getZoneId()
          .equals(other.getZoneId())) 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) + ZONE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getZoneId().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase 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.ydb.v1.DatabaseOuterClass.ZonalDatabase parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase 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.ydb.v1.DatabaseOuterClass.ZonalDatabase parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase 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.ydb.v1.DatabaseOuterClass.ZonalDatabase parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase 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.ydb.v1.DatabaseOuterClass.ZonalDatabase parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase 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.ydb.v1.DatabaseOuterClass.ZonalDatabase 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.ydb.v1.ZonalDatabase}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.ZonalDatabase)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabaseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ZonalDatabase_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ZonalDatabase_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.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();
        zoneId_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ZonalDatabase_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase(this);
        result.zoneId_ = zoneId_;
        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.ydb.v1.DatabaseOuterClass.ZonalDatabase) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase.getDefaultInstance()) return this;
        if (!other.getZoneId().isEmpty()) {
          zoneId_ = other.zoneId_;
          onChanged();
        }
        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.ydb.v1.DatabaseOuterClass.ZonalDatabase parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object zoneId_ = "";
      /**
       * string zone_id = 1 [(.yandex.cloud.required) = true];
       * @return The zoneId.
       */
      public java.lang.String getZoneId() {
        java.lang.Object ref = zoneId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          zoneId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string zone_id = 1 [(.yandex.cloud.required) = true];
       * @return The bytes for zoneId.
       */
      public com.google.protobuf.ByteString
          getZoneIdBytes() {
        java.lang.Object ref = zoneId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          zoneId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string zone_id = 1 [(.yandex.cloud.required) = true];
       * @param value The zoneId to set.
       * @return This builder for chaining.
       */
      public Builder setZoneId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        zoneId_ = value;
        onChanged();
        return this;
      }
      /**
       * string zone_id = 1 [(.yandex.cloud.required) = true];
       * @return This builder for chaining.
       */
      public Builder clearZoneId() {
        
        zoneId_ = getDefaultInstance().getZoneId();
        onChanged();
        return this;
      }
      /**
       * string zone_id = 1 [(.yandex.cloud.required) = true];
       * @param value The bytes for zoneId to set.
       * @return This builder for chaining.
       */
      public Builder setZoneIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        zoneId_ = value;
        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.ydb.v1.ZonalDatabase)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.ZonalDatabase)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ZonalDatabase getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ZonalDatabase parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ZonalDatabase(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.ydb.v1.DatabaseOuterClass.ZonalDatabase getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface RegionalDatabaseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.RegionalDatabase)
      com.google.protobuf.MessageOrBuilder {
    /**
     * string region_id = 1 [(.yandex.cloud.required) = true];
     * @return The regionId.
     */
    java.lang.String getRegionId();
    /**
     * string region_id = 1 [(.yandex.cloud.required) = true];
     * @return The bytes for regionId.
     */
    com.google.protobuf.ByteString
        getRegionIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.RegionalDatabase}
   */
  public static final class RegionalDatabase extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.RegionalDatabase)
      RegionalDatabaseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RegionalDatabase.newBuilder() to construct.
    private RegionalDatabase(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private RegionalDatabase() {
      regionId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RegionalDatabase();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RegionalDatabase(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();
              regionId_ = s;
              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 {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_RegionalDatabase_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_RegionalDatabase_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder.class);
    }
    public static final int REGION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object regionId_;
    /**
     * string region_id = 1 [(.yandex.cloud.required) = true];
     * @return The regionId.
     */
    @java.lang.Override
    public java.lang.String getRegionId() {
      java.lang.Object ref = regionId_;
      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();
        regionId_ = s;
        return s;
      }
    }
    /**
     * string region_id = 1 [(.yandex.cloud.required) = true];
     * @return The bytes for regionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRegionIdBytes() {
      java.lang.Object ref = regionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        regionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    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(regionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, regionId_);
      }
      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(regionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, regionId_);
      }
      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.ydb.v1.DatabaseOuterClass.RegionalDatabase)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) obj;
      if (!getRegionId()
          .equals(other.getRegionId())) 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) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getRegionId().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase 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.ydb.v1.DatabaseOuterClass.RegionalDatabase parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase 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.ydb.v1.DatabaseOuterClass.RegionalDatabase parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase 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.ydb.v1.DatabaseOuterClass.RegionalDatabase parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase 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.ydb.v1.DatabaseOuterClass.RegionalDatabase parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase 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.ydb.v1.DatabaseOuterClass.RegionalDatabase 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.ydb.v1.RegionalDatabase}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.RegionalDatabase)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabaseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_RegionalDatabase_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_RegionalDatabase_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.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();
        regionId_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_RegionalDatabase_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase(this);
        result.regionId_ = regionId_;
        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.ydb.v1.DatabaseOuterClass.RegionalDatabase) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase.getDefaultInstance()) return this;
        if (!other.getRegionId().isEmpty()) {
          regionId_ = other.regionId_;
          onChanged();
        }
        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.ydb.v1.DatabaseOuterClass.RegionalDatabase parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object regionId_ = "";
      /**
       * string region_id = 1 [(.yandex.cloud.required) = true];
       * @return The regionId.
       */
      public java.lang.String getRegionId() {
        java.lang.Object ref = regionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          regionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string region_id = 1 [(.yandex.cloud.required) = true];
       * @return The bytes for regionId.
       */
      public com.google.protobuf.ByteString
          getRegionIdBytes() {
        java.lang.Object ref = regionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          regionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string region_id = 1 [(.yandex.cloud.required) = true];
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * string region_id = 1 [(.yandex.cloud.required) = true];
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = getDefaultInstance().getRegionId();
        onChanged();
        return this;
      }
      /**
       * string region_id = 1 [(.yandex.cloud.required) = true];
       * @param value The bytes for regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        regionId_ = value;
        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.ydb.v1.RegionalDatabase)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.RegionalDatabase)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.RegionalDatabase getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public RegionalDatabase parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RegionalDatabase(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.ydb.v1.DatabaseOuterClass.RegionalDatabase getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ScalePolicyOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.ScalePolicy)
      com.google.protobuf.MessageOrBuilder {
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
     * @return Whether the fixedScale field is set.
     */
    boolean hasFixedScale();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
     * @return The fixedScale.
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale getFixedScale();
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScaleOrBuilder getFixedScaleOrBuilder();
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.ScaleTypeCase getScaleTypeCase();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.ScalePolicy}
   */
  public static final class ScalePolicy extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.ScalePolicy)
      ScalePolicyOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ScalePolicy.newBuilder() to construct.
    private ScalePolicy(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ScalePolicy() {
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ScalePolicy();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ScalePolicy(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder subBuilder = null;
              if (scaleTypeCase_ == 1) {
                subBuilder = ((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_).toBuilder();
              }
              scaleType_ =
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_);
                scaleType_ = subBuilder.buildPartial();
              }
              scaleTypeCase_ = 1;
              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 {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder.class);
    }
    public interface FixedScaleOrBuilder extends
        // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.ScalePolicy.FixedScale)
        com.google.protobuf.MessageOrBuilder {
      /**
       * int64 size = 1 [(.yandex.cloud.value) = ">=1"];
       * @return The size.
       */
      long getSize();
    }
    /**
     * Protobuf type {@code yandex.cloud.ydb.v1.ScalePolicy.FixedScale}
     */
    public static final class FixedScale extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.ScalePolicy.FixedScale)
        FixedScaleOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use FixedScale.newBuilder() to construct.
      private FixedScale(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
        super(builder);
      }
      private FixedScale() {
      }
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new FixedScale();
      }
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private FixedScale(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                size_ = input.readInt64();
                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 {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder.class);
      }
      public static final int SIZE_FIELD_NUMBER = 1;
      private long size_;
      /**
       * int64 size = 1 [(.yandex.cloud.value) = ">=1"];
       * @return The size.
       */
      @java.lang.Override
      public long getSize() {
        return size_;
      }
      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 (size_ != 0L) {
          output.writeInt64(1, size_);
        }
        unknownFields.writeTo(output);
      }
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
        size = 0;
        if (size_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(1, size_);
        }
        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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale)) {
          return super.equals(obj);
        }
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) obj;
        if (getSize()
            != other.getSize()) 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) + SIZE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSize());
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale 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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale 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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale 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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale 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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale 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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale 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.ydb.v1.ScalePolicy.FixedScale}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.ScalePolicy.FixedScale)
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScaleOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_descriptor;
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder.class);
        }
        // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.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();
          size_ = 0L;
          return this;
        }
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_descriptor;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale getDefaultInstanceForType() {
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance();
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale build() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        @java.lang.Override
        public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale buildPartial() {
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale(this);
          result.size_ = size_;
          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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) {
            return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale other) {
          if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance()) return this;
          if (other.getSize() != 0L) {
            setSize(other.getSize());
          }
          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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private long size_ ;
        /**
         * int64 size = 1 [(.yandex.cloud.value) = ">=1"];
         * @return The size.
         */
        @java.lang.Override
        public long getSize() {
          return size_;
        }
        /**
         * int64 size = 1 [(.yandex.cloud.value) = ">=1"];
         * @param value The size to set.
         * @return This builder for chaining.
         */
        public Builder setSize(long value) {
          
          size_ = value;
          onChanged();
          return this;
        }
        /**
         * int64 size = 1 [(.yandex.cloud.value) = ">=1"];
         * @return This builder for chaining.
         */
        public Builder clearSize() {
          
          size_ = 0L;
          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.ydb.v1.ScalePolicy.FixedScale)
      }
      // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.ScalePolicy.FixedScale)
      private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale();
      }
      public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public FixedScale parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new FixedScale(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.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
    private int scaleTypeCase_ = 0;
    private java.lang.Object scaleType_;
    public enum ScaleTypeCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      FIXED_SCALE(1),
      SCALETYPE_NOT_SET(0);
      private final int value;
      private ScaleTypeCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ScaleTypeCase valueOf(int value) {
        return forNumber(value);
      }
      public static ScaleTypeCase forNumber(int value) {
        switch (value) {
          case 1: return FIXED_SCALE;
          case 0: return SCALETYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };
    public ScaleTypeCase
    getScaleTypeCase() {
      return ScaleTypeCase.forNumber(
          scaleTypeCase_);
    }
    public static final int FIXED_SCALE_FIELD_NUMBER = 1;
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
     * @return Whether the fixedScale field is set.
     */
    @java.lang.Override
    public boolean hasFixedScale() {
      return scaleTypeCase_ == 1;
    }
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
     * @return The fixedScale.
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale getFixedScale() {
      if (scaleTypeCase_ == 1) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance();
    }
    /**
     * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScaleOrBuilder getFixedScaleOrBuilder() {
      if (scaleTypeCase_ == 1) {
         return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_;
      }
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (scaleTypeCase_ == 1) {
        output.writeMessage(1, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_);
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      if (scaleTypeCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_);
      }
      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.ydb.v1.DatabaseOuterClass.ScalePolicy)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy) obj;
      if (!getScaleTypeCase().equals(other.getScaleTypeCase())) return false;
      switch (scaleTypeCase_) {
        case 1:
          if (!getFixedScale()
              .equals(other.getFixedScale())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      switch (scaleTypeCase_) {
        case 1:
          hash = (37 * hash) + FIXED_SCALE_FIELD_NUMBER;
          hash = (53 * hash) + getFixedScale().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy 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.ydb.v1.DatabaseOuterClass.ScalePolicy parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy 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.ydb.v1.DatabaseOuterClass.ScalePolicy parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy 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.ydb.v1.DatabaseOuterClass.ScalePolicy parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy 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.ydb.v1.DatabaseOuterClass.ScalePolicy parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy 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.ydb.v1.DatabaseOuterClass.ScalePolicy 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.ydb.v1.ScalePolicy}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.ScalePolicy)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicyOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.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();
        scaleTypeCase_ = 0;
        scaleType_ = null;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_ScalePolicy_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy(this);
        if (scaleTypeCase_ == 1) {
          if (fixedScaleBuilder_ == null) {
            result.scaleType_ = scaleType_;
          } else {
            result.scaleType_ = fixedScaleBuilder_.build();
          }
        }
        result.scaleTypeCase_ = scaleTypeCase_;
        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.ydb.v1.DatabaseOuterClass.ScalePolicy) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.getDefaultInstance()) return this;
        switch (other.getScaleTypeCase()) {
          case FIXED_SCALE: {
            mergeFixedScale(other.getFixedScale());
            break;
          }
          case SCALETYPE_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }
      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int scaleTypeCase_ = 0;
      private java.lang.Object scaleType_;
      public ScaleTypeCase
          getScaleTypeCase() {
        return ScaleTypeCase.forNumber(
            scaleTypeCase_);
      }
      public Builder clearScaleType() {
        scaleTypeCase_ = 0;
        scaleType_ = null;
        onChanged();
        return this;
      }
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScaleOrBuilder> fixedScaleBuilder_;
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       * @return Whether the fixedScale field is set.
       */
      @java.lang.Override
      public boolean hasFixedScale() {
        return scaleTypeCase_ == 1;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       * @return The fixedScale.
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale getFixedScale() {
        if (fixedScaleBuilder_ == null) {
          if (scaleTypeCase_ == 1) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance();
        } else {
          if (scaleTypeCase_ == 1) {
            return fixedScaleBuilder_.getMessage();
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       */
      public Builder setFixedScale(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale value) {
        if (fixedScaleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scaleType_ = value;
          onChanged();
        } else {
          fixedScaleBuilder_.setMessage(value);
        }
        scaleTypeCase_ = 1;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       */
      public Builder setFixedScale(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder builderForValue) {
        if (fixedScaleBuilder_ == null) {
          scaleType_ = builderForValue.build();
          onChanged();
        } else {
          fixedScaleBuilder_.setMessage(builderForValue.build());
        }
        scaleTypeCase_ = 1;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       */
      public Builder mergeFixedScale(yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale value) {
        if (fixedScaleBuilder_ == null) {
          if (scaleTypeCase_ == 1 &&
              scaleType_ != yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance()) {
            scaleType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.newBuilder((yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_)
                .mergeFrom(value).buildPartial();
          } else {
            scaleType_ = value;
          }
          onChanged();
        } else {
          if (scaleTypeCase_ == 1) {
            fixedScaleBuilder_.mergeFrom(value);
          }
          fixedScaleBuilder_.setMessage(value);
        }
        scaleTypeCase_ = 1;
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       */
      public Builder clearFixedScale() {
        if (fixedScaleBuilder_ == null) {
          if (scaleTypeCase_ == 1) {
            scaleTypeCase_ = 0;
            scaleType_ = null;
            onChanged();
          }
        } else {
          if (scaleTypeCase_ == 1) {
            scaleTypeCase_ = 0;
            scaleType_ = null;
          }
          fixedScaleBuilder_.clear();
        }
        return this;
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder getFixedScaleBuilder() {
        return getFixedScaleFieldBuilder().getBuilder();
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       */
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScaleOrBuilder getFixedScaleOrBuilder() {
        if ((scaleTypeCase_ == 1) && (fixedScaleBuilder_ != null)) {
          return fixedScaleBuilder_.getMessageOrBuilder();
        } else {
          if (scaleTypeCase_ == 1) {
            return (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_;
          }
          return yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance();
        }
      }
      /**
       * .yandex.cloud.ydb.v1.ScalePolicy.FixedScale fixed_scale = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScaleOrBuilder> 
          getFixedScaleFieldBuilder() {
        if (fixedScaleBuilder_ == null) {
          if (!(scaleTypeCase_ == 1)) {
            scaleType_ = yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.getDefaultInstance();
          }
          fixedScaleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScaleOrBuilder>(
                  (yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy.FixedScale) scaleType_,
                  getParentForChildren(),
                  isClean());
          scaleType_ = null;
        }
        scaleTypeCase_ = 1;
        onChanged();;
        return fixedScaleBuilder_;
      }
      @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.ydb.v1.ScalePolicy)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.ScalePolicy)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.ScalePolicy getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ScalePolicy parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ScalePolicy(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.ydb.v1.DatabaseOuterClass.ScalePolicy getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface StorageConfigOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.StorageConfig)
      com.google.protobuf.MessageOrBuilder {
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    java.util.List 
        getStorageOptionsList();
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption getStorageOptions(int index);
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    int getStorageOptionsCount();
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder> 
        getStorageOptionsOrBuilderList();
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder getStorageOptionsOrBuilder(
        int index);
    /**
     * 
     * output only field: storage size limit of dedicated database.
     * 
     *
     * int64 storage_size_limit = 2;
     * @return The storageSizeLimit.
     */
    long getStorageSizeLimit();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.StorageConfig}
   */
  public static final class StorageConfig extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.StorageConfig)
      StorageConfigOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StorageConfig.newBuilder() to construct.
    private StorageConfig(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private StorageConfig() {
      storageOptions_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StorageConfig();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StorageConfig(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                storageOptions_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              storageOptions_.add(
                  input.readMessage(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.parser(), extensionRegistry));
              break;
            }
            case 16: {
              storageSizeLimit_ = input.readInt64();
              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)) {
          storageOptions_ = java.util.Collections.unmodifiableList(storageOptions_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageConfig_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageConfig_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder.class);
    }
    public static final int STORAGE_OPTIONS_FIELD_NUMBER = 1;
    private java.util.List storageOptions_;
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    @java.lang.Override
    public java.util.List getStorageOptionsList() {
      return storageOptions_;
    }
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder> 
        getStorageOptionsOrBuilderList() {
      return storageOptions_;
    }
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    @java.lang.Override
    public int getStorageOptionsCount() {
      return storageOptions_.size();
    }
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption getStorageOptions(int index) {
      return storageOptions_.get(index);
    }
    /**
     * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
     */
    @java.lang.Override
    public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder getStorageOptionsOrBuilder(
        int index) {
      return storageOptions_.get(index);
    }
    public static final int STORAGE_SIZE_LIMIT_FIELD_NUMBER = 2;
    private long storageSizeLimit_;
    /**
     * 
     * output only field: storage size limit of dedicated database.
     * 
     *
     * int64 storage_size_limit = 2;
     * @return The storageSizeLimit.
     */
    @java.lang.Override
    public long getStorageSizeLimit() {
      return storageSizeLimit_;
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < storageOptions_.size(); i++) {
        output.writeMessage(1, storageOptions_.get(i));
      }
      if (storageSizeLimit_ != 0L) {
        output.writeInt64(2, storageSizeLimit_);
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      for (int i = 0; i < storageOptions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, storageOptions_.get(i));
      }
      if (storageSizeLimit_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, storageSizeLimit_);
      }
      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.ydb.v1.DatabaseOuterClass.StorageConfig)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig) obj;
      if (!getStorageOptionsList()
          .equals(other.getStorageOptionsList())) return false;
      if (getStorageSizeLimit()
          != other.getStorageSizeLimit()) 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 (getStorageOptionsCount() > 0) {
        hash = (37 * hash) + STORAGE_OPTIONS_FIELD_NUMBER;
        hash = (53 * hash) + getStorageOptionsList().hashCode();
      }
      hash = (37 * hash) + STORAGE_SIZE_LIMIT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getStorageSizeLimit());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig 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.ydb.v1.DatabaseOuterClass.StorageConfig parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig 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.ydb.v1.DatabaseOuterClass.StorageConfig parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig 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.ydb.v1.DatabaseOuterClass.StorageConfig parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig 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.ydb.v1.DatabaseOuterClass.StorageConfig parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig 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.ydb.v1.DatabaseOuterClass.StorageConfig 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.ydb.v1.StorageConfig}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.StorageConfig)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfigOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageConfig_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageConfig_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getStorageOptionsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (storageOptionsBuilder_ == null) {
          storageOptions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          storageOptionsBuilder_.clear();
        }
        storageSizeLimit_ = 0L;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageConfig_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig(this);
        int from_bitField0_ = bitField0_;
        if (storageOptionsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            storageOptions_ = java.util.Collections.unmodifiableList(storageOptions_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.storageOptions_ = storageOptions_;
        } else {
          result.storageOptions_ = storageOptionsBuilder_.build();
        }
        result.storageSizeLimit_ = storageSizeLimit_;
        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.ydb.v1.DatabaseOuterClass.StorageConfig) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig.getDefaultInstance()) return this;
        if (storageOptionsBuilder_ == null) {
          if (!other.storageOptions_.isEmpty()) {
            if (storageOptions_.isEmpty()) {
              storageOptions_ = other.storageOptions_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureStorageOptionsIsMutable();
              storageOptions_.addAll(other.storageOptions_);
            }
            onChanged();
          }
        } else {
          if (!other.storageOptions_.isEmpty()) {
            if (storageOptionsBuilder_.isEmpty()) {
              storageOptionsBuilder_.dispose();
              storageOptionsBuilder_ = null;
              storageOptions_ = other.storageOptions_;
              bitField0_ = (bitField0_ & ~0x00000001);
              storageOptionsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getStorageOptionsFieldBuilder() : null;
            } else {
              storageOptionsBuilder_.addAllMessages(other.storageOptions_);
            }
          }
        }
        if (other.getStorageSizeLimit() != 0L) {
          setStorageSizeLimit(other.getStorageSizeLimit());
        }
        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.ydb.v1.DatabaseOuterClass.StorageConfig parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List storageOptions_ =
        java.util.Collections.emptyList();
      private void ensureStorageOptionsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          storageOptions_ = new java.util.ArrayList(storageOptions_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder> storageOptionsBuilder_;
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public java.util.List getStorageOptionsList() {
        if (storageOptionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(storageOptions_);
        } else {
          return storageOptionsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public int getStorageOptionsCount() {
        if (storageOptionsBuilder_ == null) {
          return storageOptions_.size();
        } else {
          return storageOptionsBuilder_.getCount();
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption getStorageOptions(int index) {
        if (storageOptionsBuilder_ == null) {
          return storageOptions_.get(index);
        } else {
          return storageOptionsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder setStorageOptions(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption value) {
        if (storageOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStorageOptionsIsMutable();
          storageOptions_.set(index, value);
          onChanged();
        } else {
          storageOptionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder setStorageOptions(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder builderForValue) {
        if (storageOptionsBuilder_ == null) {
          ensureStorageOptionsIsMutable();
          storageOptions_.set(index, builderForValue.build());
          onChanged();
        } else {
          storageOptionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder addStorageOptions(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption value) {
        if (storageOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStorageOptionsIsMutable();
          storageOptions_.add(value);
          onChanged();
        } else {
          storageOptionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder addStorageOptions(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption value) {
        if (storageOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStorageOptionsIsMutable();
          storageOptions_.add(index, value);
          onChanged();
        } else {
          storageOptionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder addStorageOptions(
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder builderForValue) {
        if (storageOptionsBuilder_ == null) {
          ensureStorageOptionsIsMutable();
          storageOptions_.add(builderForValue.build());
          onChanged();
        } else {
          storageOptionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder addStorageOptions(
          int index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder builderForValue) {
        if (storageOptionsBuilder_ == null) {
          ensureStorageOptionsIsMutable();
          storageOptions_.add(index, builderForValue.build());
          onChanged();
        } else {
          storageOptionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder addAllStorageOptions(
          java.lang.Iterable extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption> values) {
        if (storageOptionsBuilder_ == null) {
          ensureStorageOptionsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, storageOptions_);
          onChanged();
        } else {
          storageOptionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder clearStorageOptions() {
        if (storageOptionsBuilder_ == null) {
          storageOptions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          storageOptionsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public Builder removeStorageOptions(int index) {
        if (storageOptionsBuilder_ == null) {
          ensureStorageOptionsIsMutable();
          storageOptions_.remove(index);
          onChanged();
        } else {
          storageOptionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder getStorageOptionsBuilder(
          int index) {
        return getStorageOptionsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder getStorageOptionsOrBuilder(
          int index) {
        if (storageOptionsBuilder_ == null) {
          return storageOptions_.get(index);  } else {
          return storageOptionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public java.util.List extends yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder> 
           getStorageOptionsOrBuilderList() {
        if (storageOptionsBuilder_ != null) {
          return storageOptionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(storageOptions_);
        }
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder addStorageOptionsBuilder() {
        return getStorageOptionsFieldBuilder().addBuilder(
            yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.getDefaultInstance());
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder addStorageOptionsBuilder(
          int index) {
        return getStorageOptionsFieldBuilder().addBuilder(
            index, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.getDefaultInstance());
      }
      /**
       * repeated .yandex.cloud.ydb.v1.StorageOption storage_options = 1 [(.yandex.cloud.size) = ">=1"];
       */
      public java.util.List 
           getStorageOptionsBuilderList() {
        return getStorageOptionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder> 
          getStorageOptionsFieldBuilder() {
        if (storageOptionsBuilder_ == null) {
          storageOptionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder>(
                  storageOptions_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          storageOptions_ = null;
        }
        return storageOptionsBuilder_;
      }
      private long storageSizeLimit_ ;
      /**
       * 
       * output only field: storage size limit of dedicated database.
       * 
       *
       * int64 storage_size_limit = 2;
       * @return The storageSizeLimit.
       */
      @java.lang.Override
      public long getStorageSizeLimit() {
        return storageSizeLimit_;
      }
      /**
       * 
       * output only field: storage size limit of dedicated database.
       * 
       *
       * int64 storage_size_limit = 2;
       * @param value The storageSizeLimit to set.
       * @return This builder for chaining.
       */
      public Builder setStorageSizeLimit(long value) {
        
        storageSizeLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * output only field: storage size limit of dedicated database.
       * 
       *
       * int64 storage_size_limit = 2;
       * @return This builder for chaining.
       */
      public Builder clearStorageSizeLimit() {
        
        storageSizeLimit_ = 0L;
        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.ydb.v1.StorageConfig)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.StorageConfig)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageConfig getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StorageConfig parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StorageConfig(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.ydb.v1.DatabaseOuterClass.StorageConfig getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface StorageOptionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.ydb.v1.StorageOption)
      com.google.protobuf.MessageOrBuilder {
    /**
     * string storage_type_id = 1;
     * @return The storageTypeId.
     */
    java.lang.String getStorageTypeId();
    /**
     * string storage_type_id = 1;
     * @return The bytes for storageTypeId.
     */
    com.google.protobuf.ByteString
        getStorageTypeIdBytes();
    /**
     * int64 group_count = 2;
     * @return The groupCount.
     */
    long getGroupCount();
  }
  /**
   * Protobuf type {@code yandex.cloud.ydb.v1.StorageOption}
   */
  public static final class StorageOption extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.ydb.v1.StorageOption)
      StorageOptionOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StorageOption.newBuilder() to construct.
    private StorageOption(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private StorageOption() {
      storageTypeId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StorageOption();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StorageOption(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();
              storageTypeId_ = s;
              break;
            }
            case 16: {
              groupCount_ = input.readInt64();
              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 {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageOption_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageOption_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder.class);
    }
    public static final int STORAGE_TYPE_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object storageTypeId_;
    /**
     * string storage_type_id = 1;
     * @return The storageTypeId.
     */
    @java.lang.Override
    public java.lang.String getStorageTypeId() {
      java.lang.Object ref = storageTypeId_;
      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();
        storageTypeId_ = s;
        return s;
      }
    }
    /**
     * string storage_type_id = 1;
     * @return The bytes for storageTypeId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStorageTypeIdBytes() {
      java.lang.Object ref = storageTypeId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        storageTypeId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int GROUP_COUNT_FIELD_NUMBER = 2;
    private long groupCount_;
    /**
     * int64 group_count = 2;
     * @return The groupCount.
     */
    @java.lang.Override
    public long getGroupCount() {
      return groupCount_;
    }
    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(storageTypeId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storageTypeId_);
      }
      if (groupCount_ != 0L) {
        output.writeInt64(2, groupCount_);
      }
      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(storageTypeId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storageTypeId_);
      }
      if (groupCount_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, groupCount_);
      }
      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.ydb.v1.DatabaseOuterClass.StorageOption)) {
        return super.equals(obj);
      }
      yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption other = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption) obj;
      if (!getStorageTypeId()
          .equals(other.getStorageTypeId())) return false;
      if (getGroupCount()
          != other.getGroupCount()) 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) + STORAGE_TYPE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getStorageTypeId().hashCode();
      hash = (37 * hash) + GROUP_COUNT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getGroupCount());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption 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.ydb.v1.DatabaseOuterClass.StorageOption parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption 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.ydb.v1.DatabaseOuterClass.StorageOption parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption 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.ydb.v1.DatabaseOuterClass.StorageOption parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption 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.ydb.v1.DatabaseOuterClass.StorageOption parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption 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.ydb.v1.DatabaseOuterClass.StorageOption 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.ydb.v1.StorageOption}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.ydb.v1.StorageOption)
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOptionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageOption_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageOption_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.class, yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.Builder.class);
      }
      // Construct using yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.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();
        storageTypeId_ = "";
        groupCount_ = 0L;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.internal_static_yandex_cloud_ydb_v1_StorageOption_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption getDefaultInstanceForType() {
        return yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption build() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption buildPartial() {
        yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption result = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption(this);
        result.storageTypeId_ = storageTypeId_;
        result.groupCount_ = groupCount_;
        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.ydb.v1.DatabaseOuterClass.StorageOption) {
          return mergeFrom((yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption other) {
        if (other == yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption.getDefaultInstance()) return this;
        if (!other.getStorageTypeId().isEmpty()) {
          storageTypeId_ = other.storageTypeId_;
          onChanged();
        }
        if (other.getGroupCount() != 0L) {
          setGroupCount(other.getGroupCount());
        }
        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.ydb.v1.DatabaseOuterClass.StorageOption parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object storageTypeId_ = "";
      /**
       * string storage_type_id = 1;
       * @return The storageTypeId.
       */
      public java.lang.String getStorageTypeId() {
        java.lang.Object ref = storageTypeId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          storageTypeId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string storage_type_id = 1;
       * @return The bytes for storageTypeId.
       */
      public com.google.protobuf.ByteString
          getStorageTypeIdBytes() {
        java.lang.Object ref = storageTypeId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          storageTypeId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string storage_type_id = 1;
       * @param value The storageTypeId to set.
       * @return This builder for chaining.
       */
      public Builder setStorageTypeId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        storageTypeId_ = value;
        onChanged();
        return this;
      }
      /**
       * string storage_type_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearStorageTypeId() {
        
        storageTypeId_ = getDefaultInstance().getStorageTypeId();
        onChanged();
        return this;
      }
      /**
       * string storage_type_id = 1;
       * @param value The bytes for storageTypeId to set.
       * @return This builder for chaining.
       */
      public Builder setStorageTypeIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        storageTypeId_ = value;
        onChanged();
        return this;
      }
      private long groupCount_ ;
      /**
       * int64 group_count = 2;
       * @return The groupCount.
       */
      @java.lang.Override
      public long getGroupCount() {
        return groupCount_;
      }
      /**
       * int64 group_count = 2;
       * @param value The groupCount to set.
       * @return This builder for chaining.
       */
      public Builder setGroupCount(long value) {
        
        groupCount_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 group_count = 2;
       * @return This builder for chaining.
       */
      public Builder clearGroupCount() {
        
        groupCount_ = 0L;
        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.ydb.v1.StorageOption)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.ydb.v1.StorageOption)
    private static final yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption();
    }
    public static yandex.cloud.api.ydb.v1.DatabaseOuterClass.StorageOption getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StorageOption parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StorageOption(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.ydb.v1.DatabaseOuterClass.StorageOption getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_Database_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_Database_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_Database_LabelsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_Database_LabelsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_AlertParameter_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_NotificationChannel_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_NotificationChannel_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_Alert_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_Alert_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_MonitoringConfig_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_MonitoringConfig_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_ZonalDatabase_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_ZonalDatabase_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_RegionalDatabase_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_RegionalDatabase_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_ScalePolicy_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_ScalePolicy_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_StorageConfig_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_StorageConfig_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_ydb_v1_StorageOption_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_ydb_v1_StorageOption_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/ydb/v1/database.proto\022\023ya" +
      "ndex.cloud.ydb.v1\032\037google/protobuf/times" +
      "tamp.proto\032\035yandex/cloud/validation.prot" +
      "o\032 yandex/cloud/ydb/v1/backup.proto\"\255\t\n\010" +
      "Database\022\n\n\002id\030\001 \001(\t\022\021\n\tfolder_id\030\002 \001(\t\022" +
      ".\n\ncreated_at\030\003 \001(\0132\032.google.protobuf.Ti" +
      "mestamp\022\014\n\004name\030\004 \001(\t\022\023\n\013description\030\005 \001" +
      "(\t\0224\n\006status\030\006 \001(\0162$.yandex.cloud.ydb.v1" +
      ".Database.Status\022\020\n\010endpoint\030\010 \001(\t\022\032\n\022re" +
      "source_preset_id\030\t \001(\t\022:\n\016storage_config" +
      "\030\n \001(\0132\".yandex.cloud.ydb.v1.StorageConf" +
      "ig\0226\n\014scale_policy\030\013 \001(\0132 .yandex.cloud." +
      "ydb.v1.ScalePolicy\022\022\n\nnetwork_id\030\014 \001(\t\022\022" +
      "\n\nsubnet_ids\030\r \003(\t\022<\n\016zonal_database\030\016 \001" +
      "(\0132\".yandex.cloud.ydb.v1.ZonalDatabaseH\000" +
      "\022B\n\021regional_database\030\017 \001(\0132%.yandex.clo" +
      "ud.ydb.v1.RegionalDatabaseH\000\022D\n\022dedicate" +
      "d_database\030\022 \001(\0132&.yandex.cloud.ydb.v1.D" +
      "edicatedDatabaseH\000\022F\n\023serverless_databas" +
      "e\030\023 \001(\0132\'.yandex.cloud.ydb.v1.Serverless" +
      "DatabaseH\000\022\031\n\021assign_public_ips\030\020 \001(\010\022\023\n" +
      "\013location_id\030\021 \001(\t\0229\n\006labels\030\024 \003(\0132).yan" +
      "dex.cloud.ydb.v1.Database.LabelsEntry\0228\n" +
      "\rbackup_config\030\025 \001(\0132!.yandex.cloud.ydb." +
      "v1.BackupConfig\022\035\n\025document_api_endpoint" +
      "\030\026 \001(\t\022\034\n\024kinesis_api_endpoint\030\027 \001(\t\022\032\n\022" +
      "kafka_api_endpoint\030\032 \001(\t\022@\n\021monitoring_c" +
      "onfig\030\030 \001(\0132%.yandex.cloud.ydb.v1.Monito" +
      "ringConfig\022\033\n\023deletion_protection\030\031 \001(\010\032" +
      "-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001" +
      "(\t:\0028\001\"\201\001\n\006Status\022\026\n\022STATUS_UNSPECIFIED\020" +
      "\000\022\020\n\014PROVISIONING\020\001\022\013\n\007RUNNING\020\002\022\014\n\010UPDA" +
      "TING\020\004\022\t\n\005ERROR\020\005\022\014\n\010DELETING\020\006\022\014\n\010START" +
      "ING\020\007\022\013\n\007STOPPED\020\010B\017\n\rdatabase_type\"\202\006\n\016" +
      "AlertParameter\022Z\n\026double_parameter_value" +
      "\030\001 \001(\01328.yandex.cloud.ydb.v1.AlertParame" +
      "ter.DoubleParameterValueH\000\022\\\n\027integer_pa" +
      "rameter_value\030\002 \001(\01329.yandex.cloud.ydb.v" +
      "1.AlertParameter.IntegerParameterValueH\000" +
      "\022V\n\024text_parameter_value\030\003 \001(\01326.yandex." +
      "cloud.ydb.v1.AlertParameter.TextParamete" +
      "rValueH\000\022_\n\031text_list_parameter_value\030\004 " +
      "\001(\0132:.yandex.cloud.ydb.v1.AlertParameter" +
      ".TextListParameterValueH\000\022a\n\032label_list_" +
      "parameter_value\030\005 \001(\0132;.yandex.cloud.ydb" +
      ".v1.AlertParameter.LabelListParameterVal" +
      "ueH\000\0323\n\024DoubleParameterValue\022\014\n\004name\030\001 \001" +
      "(\t\022\r\n\005value\030\002 \001(\001\0324\n\025IntegerParameterVal" +
      "ue\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001(\003\0321\n\022TextP" +
      "arameterValue\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001" +
      "(\t\0326\n\026TextListParameterValue\022\014\n\004name\030\001 \001" +
      "(\t\022\016\n\006values\030\002 \003(\t\0327\n\027LabelListParameter" +
      "Value\022\014\n\004name\030\001 \001(\t\022\016\n\006values\030\002 \003(\tB\013\n\tp" +
      "arameter\"\242\001\n\023NotificationChannel\022\037\n\027noti" +
      "fication_channel_id\030\001 \001(\t\022I\n\025notify_abou" +
      "t_statuses\030\002 \003(\0162*.yandex.cloud.ydb.v1.A" +
      "lertEvaluationStatus\022\037\n\027repeate_notify_d" +
      "elay_ms\030\003 \001(\003\"\236\002\n\005Alert\022\020\n\010alert_id\030\001 \001(" +
      "\t\022\031\n\021alert_template_id\030\002 \001(\t\022\014\n\004name\030\003 \001" +
      "(\t\022\023\n\013description\030\004 \001(\t\022G\n\025notification_" +
      "channels\030\005 \003(\0132(.yandex.cloud.ydb.v1.Not" +
      "ificationChannel\022=\n\020alert_parameters\030\006 \003" +
      "(\0132#.yandex.cloud.ydb.v1.AlertParameter\022" +
      "=\n\020alert_thresholds\030\007 \003(\0132#.yandex.cloud" +
      ".ydb.v1.AlertParameter\">\n\020MonitoringConf" +
      "ig\022*\n\006alerts\030\001 \003(\0132\032.yandex.cloud.ydb.v1" +
      ".Alert\"\346\001\n\021DedicatedDatabase\022\032\n\022resource" +
      "_preset_id\030\001 \001(\t\022:\n\016storage_config\030\002 \001(\013" +
      "2\".yandex.cloud.ydb.v1.StorageConfig\0226\n\014" +
      "scale_policy\030\003 \001(\0132 .yandex.cloud.ydb.v1" +
      ".ScalePolicy\022\022\n\nnetwork_id\030\004 \001(\t\022\022\n\nsubn" +
      "et_ids\030\005 \003(\t\022\031\n\021assign_public_ips\030\006 \001(\010\"" +
      "\255\001\n\022ServerlessDatabase\022\034\n\024throttling_rcu" +
      "_limit\030\001 \001(\003\022\032\n\022storage_size_limit\030\002 \001(\003" +
      "\022#\n\033enable_throttling_rcu_limit\030\003 \001(\010\022\035\n" +
      "\025provisioned_rcu_limit\030\004 \001(\003\022\031\n\021topic_wr" +
      "ite_quota\030\005 \001(\003\"&\n\rZonalDatabase\022\025\n\007zone" +
      "_id\030\001 \001(\tB\004\350\3071\001\"+\n\020RegionalDatabase\022\027\n\tr" +
      "egion_id\030\001 \001(\tB\004\350\3071\001\"\212\001\n\013ScalePolicy\022B\n\013" +
      "fixed_scale\030\001 \001(\0132+.yandex.cloud.ydb.v1." +
      "ScalePolicy.FixedScaleH\000\032#\n\nFixedScale\022\025" +
      "\n\004size\030\001 \001(\003B\007\372\3071\003>=1B\022\n\nscale_type\022\004\300\3011" +
      "\001\"q\n\rStorageConfig\022D\n\017storage_options\030\001 " +
      "\003(\0132\".yandex.cloud.ydb.v1.StorageOptionB" +
      "\007\202\3101\003>=1\022\032\n\022storage_size_limit\030\002 \001(\003\"=\n\r" +
      "StorageOption\022\027\n\017storage_type_id\030\001 \001(\t\022\023" +
      "\n\013group_count\030\002 \001(\003*\355\001\n\025AlertEvaluationS" +
      "tatus\022\'\n#ALERT_EVALUATION_STATUS_UNSPECI" +
      "FIED\020\000\022\036\n\032ALERT_EVALUATION_STATUS_OK\020\001\022#" +
      "\n\037ALERT_EVALUATION_STATUS_NO_DATA\020\002\022!\n\035A" +
      "LERT_EVALUATION_STATUS_ERROR\020\003\022!\n\035ALERT_" +
      "EVALUATION_STATUS_ALARM\020\004\022 \n\034ALERT_EVALU" +
      "ATION_STATUS_WARN\020\005BV\n\027yandex.cloud.api." +
      "ydb.v1Z;github.com/yandex-cloud/go-genpr" +
      "oto/yandex/cloud/ydb/v1;ydbb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.TimestampProto.getDescriptor(),
          yandex.cloud.api.Validation.getDescriptor(),
          yandex.cloud.api.ydb.v1.BackupOuterClass.getDescriptor(),
        });
    internal_static_yandex_cloud_ydb_v1_Database_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_yandex_cloud_ydb_v1_Database_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_Database_descriptor,
        new java.lang.String[] { "Id", "FolderId", "CreatedAt", "Name", "Description", "Status", "Endpoint", "ResourcePresetId", "StorageConfig", "ScalePolicy", "NetworkId", "SubnetIds", "ZonalDatabase", "RegionalDatabase", "DedicatedDatabase", "ServerlessDatabase", "AssignPublicIps", "LocationId", "Labels", "BackupConfig", "DocumentApiEndpoint", "KinesisApiEndpoint", "KafkaApiEndpoint", "MonitoringConfig", "DeletionProtection", "DatabaseType", });
    internal_static_yandex_cloud_ydb_v1_Database_LabelsEntry_descriptor =
      internal_static_yandex_cloud_ydb_v1_Database_descriptor.getNestedTypes().get(0);
    internal_static_yandex_cloud_ydb_v1_Database_LabelsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_Database_LabelsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_yandex_cloud_ydb_v1_AlertParameter_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor,
        new java.lang.String[] { "DoubleParameterValue", "IntegerParameterValue", "TextParameterValue", "TextListParameterValue", "LabelListParameterValue", "Parameter", });
    internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_descriptor =
      internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor.getNestedTypes().get(0);
    internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_AlertParameter_DoubleParameterValue_descriptor,
        new java.lang.String[] { "Name", "Value", });
    internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_descriptor =
      internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor.getNestedTypes().get(1);
    internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_AlertParameter_IntegerParameterValue_descriptor,
        new java.lang.String[] { "Name", "Value", });
    internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_descriptor =
      internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor.getNestedTypes().get(2);
    internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_AlertParameter_TextParameterValue_descriptor,
        new java.lang.String[] { "Name", "Value", });
    internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_descriptor =
      internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor.getNestedTypes().get(3);
    internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_AlertParameter_TextListParameterValue_descriptor,
        new java.lang.String[] { "Name", "Values", });
    internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_descriptor =
      internal_static_yandex_cloud_ydb_v1_AlertParameter_descriptor.getNestedTypes().get(4);
    internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_AlertParameter_LabelListParameterValue_descriptor,
        new java.lang.String[] { "Name", "Values", });
    internal_static_yandex_cloud_ydb_v1_NotificationChannel_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_yandex_cloud_ydb_v1_NotificationChannel_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_NotificationChannel_descriptor,
        new java.lang.String[] { "NotificationChannelId", "NotifyAboutStatuses", "RepeateNotifyDelayMs", });
    internal_static_yandex_cloud_ydb_v1_Alert_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_yandex_cloud_ydb_v1_Alert_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_Alert_descriptor,
        new java.lang.String[] { "AlertId", "AlertTemplateId", "Name", "Description", "NotificationChannels", "AlertParameters", "AlertThresholds", });
    internal_static_yandex_cloud_ydb_v1_MonitoringConfig_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_yandex_cloud_ydb_v1_MonitoringConfig_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_MonitoringConfig_descriptor,
        new java.lang.String[] { "Alerts", });
    internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_DedicatedDatabase_descriptor,
        new java.lang.String[] { "ResourcePresetId", "StorageConfig", "ScalePolicy", "NetworkId", "SubnetIds", "AssignPublicIps", });
    internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_ServerlessDatabase_descriptor,
        new java.lang.String[] { "ThrottlingRcuLimit", "StorageSizeLimit", "EnableThrottlingRcuLimit", "ProvisionedRcuLimit", "TopicWriteQuota", });
    internal_static_yandex_cloud_ydb_v1_ZonalDatabase_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_yandex_cloud_ydb_v1_ZonalDatabase_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_ZonalDatabase_descriptor,
        new java.lang.String[] { "ZoneId", });
    internal_static_yandex_cloud_ydb_v1_RegionalDatabase_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_yandex_cloud_ydb_v1_RegionalDatabase_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_RegionalDatabase_descriptor,
        new java.lang.String[] { "RegionId", });
    internal_static_yandex_cloud_ydb_v1_ScalePolicy_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_yandex_cloud_ydb_v1_ScalePolicy_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_ScalePolicy_descriptor,
        new java.lang.String[] { "FixedScale", "ScaleType", });
    internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_descriptor =
      internal_static_yandex_cloud_ydb_v1_ScalePolicy_descriptor.getNestedTypes().get(0);
    internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_ScalePolicy_FixedScale_descriptor,
        new java.lang.String[] { "Size", });
    internal_static_yandex_cloud_ydb_v1_StorageConfig_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_yandex_cloud_ydb_v1_StorageConfig_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_StorageConfig_descriptor,
        new java.lang.String[] { "StorageOptions", "StorageSizeLimit", });
    internal_static_yandex_cloud_ydb_v1_StorageOption_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_yandex_cloud_ydb_v1_StorageOption_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_ydb_v1_StorageOption_descriptor,
        new java.lang.String[] { "StorageTypeId", "GroupCount", });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(yandex.cloud.api.Validation.exactlyOne);
    registry.add(yandex.cloud.api.Validation.required);
    registry.add(yandex.cloud.api.Validation.size);
    registry.add(yandex.cloud.api.Validation.value);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.protobuf.TimestampProto.getDescriptor();
    yandex.cloud.api.Validation.getDescriptor();
    yandex.cloud.api.ydb.v1.BackupOuterClass.getDescriptor();
  }
  // @@protoc_insertion_point(outer_class_scope)
}
                                                                                                                                                                                 © 2015 - 2025 Weber Informatics LLC | Privacy Policy