yandex.cloud.api.mdb.sqlserver.v1.PSUS Maven / Gradle / Ivy
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: yandex/cloud/mdb/sqlserver/v1/user_service.proto
package yandex.cloud.api.mdb.sqlserver.v1;
public final class PSUS {
  private PSUS() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface GetUserRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.GetUserRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the SQL Server user to return.
     * To get the name of the user use a [DatabaseService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the SQL Server user to return.
     * To get the name of the user use a [DatabaseService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.GetUserRequest}
   */
  public static final class GetUserRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.GetUserRequest)
      GetUserRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetUserRequest.newBuilder() to construct.
    private GetUserRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private GetUserRequest() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GetUserRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GetUserRequest(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the SQL Server user to return.
     * To get the name of the user use a [DatabaseService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the SQL Server user to return.
     * To get the name of the user use a [DatabaseService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      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.mdb.sqlserver.v1.PSUS.GetUserRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest 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.mdb.sqlserver.v1.PSUS.GetUserRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest 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.mdb.sqlserver.v1.PSUS.GetUserRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest 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.mdb.sqlserver.v1.PSUS.GetUserRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest 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.mdb.sqlserver.v1.PSUS.GetUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest 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.mdb.sqlserver.v1.PSUS.GetUserRequest 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.mdb.sqlserver.v1.GetUserRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.GetUserRequest)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest.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();
        clusterId_ = "";
        userName_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        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.mdb.sqlserver.v1.PSUS.GetUserRequest) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          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.mdb.sqlserver.v1.PSUS.GetUserRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the SQL Server user to return.
       * To get the name of the user use a [DatabaseService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the SQL Server user to return.
       * To get the name of the user use a [DatabaseService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the SQL Server user to return.
       * To get the name of the user use a [DatabaseService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the SQL Server user to return.
       * To get the name of the user use a [DatabaseService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the SQL Server user to return.
       * To get the name of the user use a [DatabaseService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = 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.mdb.sqlserver.v1.GetUserRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.GetUserRequest)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GetUserRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public GetUserRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GetUserRequest(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.mdb.sqlserver.v1.PSUS.GetUserRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListUsersRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.ListUsersRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster to list SQL Server users in.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the cluster to list SQL Server users in.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * The maximum number of results per page to return.
     * If the number of available results is larger than [page_size], the service returns a [ListUsersResponse.next_page_token] that can be used to get the next page of results in subsequent list requests.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "0-1000"];
     * @return The pageSize.
     */
    long getPageSize();
    /**
     * 
     * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
     * 
     *
     * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
     * @return The pageToken.
     */
    java.lang.String getPageToken();
    /**
     * 
     * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
     * 
     *
     * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
     * @return The bytes for pageToken.
     */
    com.google.protobuf.ByteString
        getPageTokenBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.ListUsersRequest}
   */
  public static final class ListUsersRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.ListUsersRequest)
      ListUsersRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListUsersRequest.newBuilder() to construct.
    private ListUsersRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListUsersRequest() {
      clusterId_ = "";
      pageToken_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListUsersRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListUsersRequest(
        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();
              clusterId_ = s;
              break;
            }
            case 16: {
              pageSize_ = input.readInt64();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();
              pageToken_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster to list SQL Server users in.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the cluster to list SQL Server users in.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int PAGE_SIZE_FIELD_NUMBER = 2;
    private long pageSize_;
    /**
     * 
     * The maximum number of results per page to return.
     * If the number of available results is larger than [page_size], the service returns a [ListUsersResponse.next_page_token] that can be used to get the next page of results in subsequent list requests.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "0-1000"];
     * @return The pageSize.
     */
    @java.lang.Override
    public long getPageSize() {
      return pageSize_;
    }
    public static final int PAGE_TOKEN_FIELD_NUMBER = 3;
    private volatile java.lang.Object pageToken_;
    /**
     * 
     * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
     * 
     *
     * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
     * @return The pageToken.
     */
    @java.lang.Override
    public java.lang.String getPageToken() {
      java.lang.Object ref = pageToken_;
      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();
        pageToken_ = s;
        return s;
      }
    }
    /**
     * 
     * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
     * 
     *
     * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
     * @return The bytes for pageToken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPageTokenBytes() {
      java.lang.Object ref = pageToken_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        pageToken_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (pageSize_ != 0L) {
        output.writeInt64(2, pageSize_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, pageToken_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (pageSize_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, pageSize_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, pageToken_);
      }
      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.mdb.sqlserver.v1.PSUS.ListUsersRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (getPageSize()
          != other.getPageSize()) return false;
      if (!getPageToken()
          .equals(other.getPageToken())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPageSize());
      hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER;
      hash = (53 * hash) + getPageToken().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest 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.mdb.sqlserver.v1.PSUS.ListUsersRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest 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.mdb.sqlserver.v1.PSUS.ListUsersRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest 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.mdb.sqlserver.v1.PSUS.ListUsersRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest 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.mdb.sqlserver.v1.PSUS.ListUsersRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest 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.mdb.sqlserver.v1.PSUS.ListUsersRequest 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.mdb.sqlserver.v1.ListUsersRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.ListUsersRequest)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest.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();
        clusterId_ = "";
        pageSize_ = 0L;
        pageToken_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest(this);
        result.clusterId_ = clusterId_;
        result.pageSize_ = pageSize_;
        result.pageToken_ = pageToken_;
        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.mdb.sqlserver.v1.PSUS.ListUsersRequest) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (other.getPageSize() != 0L) {
          setPageSize(other.getPageSize());
        }
        if (!other.getPageToken().isEmpty()) {
          pageToken_ = other.pageToken_;
          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.mdb.sqlserver.v1.PSUS.ListUsersRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster to list SQL Server users in.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the cluster to list SQL Server users in.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the cluster to list SQL Server users in.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cluster to list SQL Server users in.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cluster to list SQL Server users in.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private long pageSize_ ;
      /**
       * 
       * The maximum number of results per page to return.
       * If the number of available results is larger than [page_size], the service returns a [ListUsersResponse.next_page_token] that can be used to get the next page of results in subsequent list requests.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "0-1000"];
       * @return The pageSize.
       */
      @java.lang.Override
      public long getPageSize() {
        return pageSize_;
      }
      /**
       * 
       * The maximum number of results per page to return.
       * If the number of available results is larger than [page_size], the service returns a [ListUsersResponse.next_page_token] that can be used to get the next page of results in subsequent list requests.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "0-1000"];
       * @param value The pageSize to set.
       * @return This builder for chaining.
       */
      public Builder setPageSize(long value) {
        
        pageSize_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * The maximum number of results per page to return.
       * If the number of available results is larger than [page_size], the service returns a [ListUsersResponse.next_page_token] that can be used to get the next page of results in subsequent list requests.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "0-1000"];
       * @return This builder for chaining.
       */
      public Builder clearPageSize() {
        
        pageSize_ = 0L;
        onChanged();
        return this;
      }
      private java.lang.Object pageToken_ = "";
      /**
       * 
       * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
       * 
       *
       * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
       * @return The pageToken.
       */
      public java.lang.String getPageToken() {
        java.lang.Object ref = pageToken_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          pageToken_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
       * 
       *
       * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
       * @return The bytes for pageToken.
       */
      public com.google.protobuf.ByteString
          getPageTokenBytes() {
        java.lang.Object ref = pageToken_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          pageToken_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
       * 
       *
       * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
       * @param value The pageToken to set.
       * @return This builder for chaining.
       */
      public Builder setPageToken(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pageToken_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
       * 
       *
       * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
       * @return This builder for chaining.
       */
      public Builder clearPageToken() {
        
        pageToken_ = getDefaultInstance().getPageToken();
        onChanged();
        return this;
      }
      /**
       * 
       * Page token. To get the next page of results, set [page_token] to the [ListUsersResponse.next_page_token] returned by the previous list request.
       * 
       *
       * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
       * @param value The bytes for pageToken to set.
       * @return This builder for chaining.
       */
      public Builder setPageTokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        pageToken_ = 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.mdb.sqlserver.v1.ListUsersRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.ListUsersRequest)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListUsersRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListUsersRequest(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.mdb.sqlserver.v1.PSUS.ListUsersRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListUsersResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.ListUsersResponse)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    java.util.List 
        getUsersList();
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.User getUsers(int index);
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    int getUsersCount();
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    java.util.List extends yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder> 
        getUsersOrBuilderList();
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder getUsersOrBuilder(
        int index);
    /**
     * 
     * Token that allows you to get the next page of results for list requests.
     * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
     * Each subsequent list request has its own [next_page_token] to continue paging through the results.
     * 
     *
     * string next_page_token = 2;
     * @return The nextPageToken.
     */
    java.lang.String getNextPageToken();
    /**
     * 
     * Token that allows you to get the next page of results for list requests.
     * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
     * Each subsequent list request has its own [next_page_token] to continue paging through the results.
     * 
     *
     * string next_page_token = 2;
     * @return The bytes for nextPageToken.
     */
    com.google.protobuf.ByteString
        getNextPageTokenBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.ListUsersResponse}
   */
  public static final class ListUsersResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.ListUsersResponse)
      ListUsersResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListUsersResponse.newBuilder() to construct.
    private ListUsersResponse(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListUsersResponse() {
      users_ = java.util.Collections.emptyList();
      nextPageToken_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListUsersResponse();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListUsersResponse(
        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)) {
                users_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              users_.add(
                  input.readMessage(yandex.cloud.api.mdb.sqlserver.v1.PSU.User.parser(), extensionRegistry));
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              nextPageToken_ = 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)) {
          users_ = java.util.Collections.unmodifiableList(users_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse.Builder.class);
    }
    public static final int USERS_FIELD_NUMBER = 1;
    private java.util.List users_;
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    @java.lang.Override
    public java.util.List getUsersList() {
      return users_;
    }
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder> 
        getUsersOrBuilderList() {
      return users_;
    }
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    @java.lang.Override
    public int getUsersCount() {
      return users_.size();
    }
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.User getUsers(int index) {
      return users_.get(index);
    }
    /**
     * 
     * Requested list of SQL Server users.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder getUsersOrBuilder(
        int index) {
      return users_.get(index);
    }
    public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2;
    private volatile java.lang.Object nextPageToken_;
    /**
     * 
     * Token that allows you to get the next page of results for list requests.
     * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
     * Each subsequent list request has its own [next_page_token] to continue paging through the results.
     * 
     *
     * string next_page_token = 2;
     * @return The nextPageToken.
     */
    @java.lang.Override
    public java.lang.String getNextPageToken() {
      java.lang.Object ref = nextPageToken_;
      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();
        nextPageToken_ = s;
        return s;
      }
    }
    /**
     * 
     * Token that allows you to get the next page of results for list requests.
     * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
     * Each subsequent list request has its own [next_page_token] to continue paging through the results.
     * 
     *
     * string next_page_token = 2;
     * @return The bytes for nextPageToken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNextPageTokenBytes() {
      java.lang.Object ref = nextPageToken_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nextPageToken_ = 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 {
      for (int i = 0; i < users_.size(); i++) {
        output.writeMessage(1, users_.get(i));
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, nextPageToken_);
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      for (int i = 0; i < users_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, users_.get(i));
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, nextPageToken_);
      }
      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.mdb.sqlserver.v1.PSUS.ListUsersResponse)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse) obj;
      if (!getUsersList()
          .equals(other.getUsersList())) return false;
      if (!getNextPageToken()
          .equals(other.getNextPageToken())) 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 (getUsersCount() > 0) {
        hash = (37 * hash) + USERS_FIELD_NUMBER;
        hash = (53 * hash) + getUsersList().hashCode();
      }
      hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER;
      hash = (53 * hash) + getNextPageToken().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse 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.mdb.sqlserver.v1.PSUS.ListUsersResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse 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.mdb.sqlserver.v1.PSUS.ListUsersResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse 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.mdb.sqlserver.v1.PSUS.ListUsersResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse 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.mdb.sqlserver.v1.PSUS.ListUsersResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse 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.mdb.sqlserver.v1.PSUS.ListUsersResponse 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.mdb.sqlserver.v1.ListUsersResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.ListUsersResponse)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getUsersFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (usersBuilder_ == null) {
          users_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          usersBuilder_.clear();
        }
        nextPageToken_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse(this);
        int from_bitField0_ = bitField0_;
        if (usersBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            users_ = java.util.Collections.unmodifiableList(users_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.users_ = users_;
        } else {
          result.users_ = usersBuilder_.build();
        }
        result.nextPageToken_ = nextPageToken_;
        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.mdb.sqlserver.v1.PSUS.ListUsersResponse) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse.getDefaultInstance()) return this;
        if (usersBuilder_ == null) {
          if (!other.users_.isEmpty()) {
            if (users_.isEmpty()) {
              users_ = other.users_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureUsersIsMutable();
              users_.addAll(other.users_);
            }
            onChanged();
          }
        } else {
          if (!other.users_.isEmpty()) {
            if (usersBuilder_.isEmpty()) {
              usersBuilder_.dispose();
              usersBuilder_ = null;
              users_ = other.users_;
              bitField0_ = (bitField0_ & ~0x00000001);
              usersBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getUsersFieldBuilder() : null;
            } else {
              usersBuilder_.addAllMessages(other.users_);
            }
          }
        }
        if (!other.getNextPageToken().isEmpty()) {
          nextPageToken_ = other.nextPageToken_;
          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.mdb.sqlserver.v1.PSUS.ListUsersResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List users_ =
        java.util.Collections.emptyList();
      private void ensureUsersIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          users_ = new java.util.ArrayList(users_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.User, yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder> usersBuilder_;
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public java.util.List getUsersList() {
        if (usersBuilder_ == null) {
          return java.util.Collections.unmodifiableList(users_);
        } else {
          return usersBuilder_.getMessageList();
        }
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public int getUsersCount() {
        if (usersBuilder_ == null) {
          return users_.size();
        } else {
          return usersBuilder_.getCount();
        }
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.User getUsers(int index) {
        if (usersBuilder_ == null) {
          return users_.get(index);
        } else {
          return usersBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder setUsers(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.User value) {
        if (usersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUsersIsMutable();
          users_.set(index, value);
          onChanged();
        } else {
          usersBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder setUsers(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder builderForValue) {
        if (usersBuilder_ == null) {
          ensureUsersIsMutable();
          users_.set(index, builderForValue.build());
          onChanged();
        } else {
          usersBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder addUsers(yandex.cloud.api.mdb.sqlserver.v1.PSU.User value) {
        if (usersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUsersIsMutable();
          users_.add(value);
          onChanged();
        } else {
          usersBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder addUsers(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.User value) {
        if (usersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUsersIsMutable();
          users_.add(index, value);
          onChanged();
        } else {
          usersBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder addUsers(
          yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder builderForValue) {
        if (usersBuilder_ == null) {
          ensureUsersIsMutable();
          users_.add(builderForValue.build());
          onChanged();
        } else {
          usersBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder addUsers(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder builderForValue) {
        if (usersBuilder_ == null) {
          ensureUsersIsMutable();
          users_.add(index, builderForValue.build());
          onChanged();
        } else {
          usersBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder addAllUsers(
          java.lang.Iterable extends yandex.cloud.api.mdb.sqlserver.v1.PSU.User> values) {
        if (usersBuilder_ == null) {
          ensureUsersIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, users_);
          onChanged();
        } else {
          usersBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder clearUsers() {
        if (usersBuilder_ == null) {
          users_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          usersBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public Builder removeUsers(int index) {
        if (usersBuilder_ == null) {
          ensureUsersIsMutable();
          users_.remove(index);
          onChanged();
        } else {
          usersBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder getUsersBuilder(
          int index) {
        return getUsersFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder getUsersOrBuilder(
          int index) {
        if (usersBuilder_ == null) {
          return users_.get(index);  } else {
          return usersBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public java.util.List extends yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder> 
           getUsersOrBuilderList() {
        if (usersBuilder_ != null) {
          return usersBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(users_);
        }
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder addUsersBuilder() {
        return getUsersFieldBuilder().addBuilder(
            yandex.cloud.api.mdb.sqlserver.v1.PSU.User.getDefaultInstance());
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder addUsersBuilder(
          int index) {
        return getUsersFieldBuilder().addBuilder(
            index, yandex.cloud.api.mdb.sqlserver.v1.PSU.User.getDefaultInstance());
      }
      /**
       * 
       * Requested list of SQL Server users.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.User users = 1;
       */
      public java.util.List 
           getUsersBuilderList() {
        return getUsersFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.User, yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder> 
          getUsersFieldBuilder() {
        if (usersBuilder_ == null) {
          usersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.mdb.sqlserver.v1.PSU.User, yandex.cloud.api.mdb.sqlserver.v1.PSU.User.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserOrBuilder>(
                  users_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          users_ = null;
        }
        return usersBuilder_;
      }
      private java.lang.Object nextPageToken_ = "";
      /**
       * 
       * Token that allows you to get the next page of results for list requests.
       * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
       * Each subsequent list request has its own [next_page_token] to continue paging through the results.
       * 
       *
       * string next_page_token = 2;
       * @return The nextPageToken.
       */
      public java.lang.String getNextPageToken() {
        java.lang.Object ref = nextPageToken_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          nextPageToken_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Token that allows you to get the next page of results for list requests.
       * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
       * Each subsequent list request has its own [next_page_token] to continue paging through the results.
       * 
       *
       * string next_page_token = 2;
       * @return The bytes for nextPageToken.
       */
      public com.google.protobuf.ByteString
          getNextPageTokenBytes() {
        java.lang.Object ref = nextPageToken_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nextPageToken_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Token that allows you to get the next page of results for list requests.
       * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
       * Each subsequent list request has its own [next_page_token] to continue paging through the results.
       * 
       *
       * string next_page_token = 2;
       * @param value The nextPageToken to set.
       * @return This builder for chaining.
       */
      public Builder setNextPageToken(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        nextPageToken_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Token that allows you to get the next page of results for list requests.
       * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
       * Each subsequent list request has its own [next_page_token] to continue paging through the results.
       * 
       *
       * string next_page_token = 2;
       * @return This builder for chaining.
       */
      public Builder clearNextPageToken() {
        
        nextPageToken_ = getDefaultInstance().getNextPageToken();
        onChanged();
        return this;
      }
      /**
       * 
       * Token that allows you to get the next page of results for list requests.
       * If the number of results is larger than [ListUsersRequest.page_size], use the [next_page_token] as the value for the [ListUsersRequest.page_token] parameter in the next list request.
       * Each subsequent list request has its own [next_page_token] to continue paging through the results.
       * 
       *
       * string next_page_token = 2;
       * @param value The bytes for nextPageToken to set.
       * @return This builder for chaining.
       */
      public Builder setNextPageTokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        nextPageToken_ = 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.mdb.sqlserver.v1.ListUsersResponse)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.ListUsersResponse)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.ListUsersResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListUsersResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListUsersResponse(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.mdb.sqlserver.v1.PSUS.ListUsersResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface CreateUserRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.CreateUserRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster to create a user for.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster to create a user for.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Properties of the user to be created.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
     * @return Whether the userSpec field is set.
     */
    boolean hasUserSpec();
    /**
     * 
     * Properties of the user to be created.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
     * @return The userSpec.
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec getUserSpec();
    /**
     * 
     * Properties of the user to be created.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpecOrBuilder getUserSpecOrBuilder();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.CreateUserRequest}
   */
  public static final class CreateUserRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.CreateUserRequest)
      CreateUserRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateUserRequest.newBuilder() to construct.
    private CreateUserRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private CreateUserRequest() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateUserRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateUserRequest(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.Builder subBuilder = null;
              if (userSpec_ != null) {
                subBuilder = userSpec_.toBuilder();
              }
              userSpec_ = input.readMessage(yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userSpec_);
                userSpec_ = subBuilder.buildPartial();
              }
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster to create a user for.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster to create a user for.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_SPEC_FIELD_NUMBER = 2;
    private yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec userSpec_;
    /**
     * 
     * Properties of the user to be created.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
     * @return Whether the userSpec field is set.
     */
    @java.lang.Override
    public boolean hasUserSpec() {
      return userSpec_ != null;
    }
    /**
     * 
     * Properties of the user to be created.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
     * @return The userSpec.
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec getUserSpec() {
      return userSpec_ == null ? yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.getDefaultInstance() : userSpec_;
    }
    /**
     * 
     * Properties of the user to be created.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpecOrBuilder getUserSpecOrBuilder() {
      return getUserSpec();
    }
    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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (userSpec_ != null) {
        output.writeMessage(2, getUserSpec());
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (userSpec_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getUserSpec());
      }
      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.mdb.sqlserver.v1.PSUS.CreateUserRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (hasUserSpec() != other.hasUserSpec()) return false;
      if (hasUserSpec()) {
        if (!getUserSpec()
            .equals(other.getUserSpec())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      if (hasUserSpec()) {
        hash = (37 * hash) + USER_SPEC_FIELD_NUMBER;
        hash = (53 * hash) + getUserSpec().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest 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.mdb.sqlserver.v1.PSUS.CreateUserRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest 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.mdb.sqlserver.v1.PSUS.CreateUserRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest 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.mdb.sqlserver.v1.PSUS.CreateUserRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest 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.mdb.sqlserver.v1.PSUS.CreateUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest 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.mdb.sqlserver.v1.PSUS.CreateUserRequest 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.mdb.sqlserver.v1.CreateUserRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.CreateUserRequest)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest.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();
        clusterId_ = "";
        if (userSpecBuilder_ == null) {
          userSpec_ = null;
        } else {
          userSpec_ = null;
          userSpecBuilder_ = null;
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest(this);
        result.clusterId_ = clusterId_;
        if (userSpecBuilder_ == null) {
          result.userSpec_ = userSpec_;
        } else {
          result.userSpec_ = userSpecBuilder_.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.mdb.sqlserver.v1.PSUS.CreateUserRequest) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (other.hasUserSpec()) {
          mergeUserSpec(other.getUserSpec());
        }
        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.mdb.sqlserver.v1.PSUS.CreateUserRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster to create a user for.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster to create a user for.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster to create a user for.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster to create a user for.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster to create a user for.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec userSpec_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpecOrBuilder> userSpecBuilder_;
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       * @return Whether the userSpec field is set.
       */
      public boolean hasUserSpec() {
        return userSpecBuilder_ != null || userSpec_ != null;
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       * @return The userSpec.
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec getUserSpec() {
        if (userSpecBuilder_ == null) {
          return userSpec_ == null ? yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.getDefaultInstance() : userSpec_;
        } else {
          return userSpecBuilder_.getMessage();
        }
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       */
      public Builder setUserSpec(yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec value) {
        if (userSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userSpec_ = value;
          onChanged();
        } else {
          userSpecBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       */
      public Builder setUserSpec(
          yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.Builder builderForValue) {
        if (userSpecBuilder_ == null) {
          userSpec_ = builderForValue.build();
          onChanged();
        } else {
          userSpecBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       */
      public Builder mergeUserSpec(yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec value) {
        if (userSpecBuilder_ == null) {
          if (userSpec_ != null) {
            userSpec_ =
              yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.newBuilder(userSpec_).mergeFrom(value).buildPartial();
          } else {
            userSpec_ = value;
          }
          onChanged();
        } else {
          userSpecBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       */
      public Builder clearUserSpec() {
        if (userSpecBuilder_ == null) {
          userSpec_ = null;
          onChanged();
        } else {
          userSpec_ = null;
          userSpecBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.Builder getUserSpecBuilder() {
        
        onChanged();
        return getUserSpecFieldBuilder().getBuilder();
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpecOrBuilder getUserSpecOrBuilder() {
        if (userSpecBuilder_ != null) {
          return userSpecBuilder_.getMessageOrBuilder();
        } else {
          return userSpec_ == null ?
              yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.getDefaultInstance() : userSpec_;
        }
      }
      /**
       * 
       * Properties of the user to be created.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.UserSpec user_spec = 2 [(.yandex.cloud.required) = true];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpecOrBuilder> 
          getUserSpecFieldBuilder() {
        if (userSpecBuilder_ == null) {
          userSpecBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpec.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.UserSpecOrBuilder>(
                  getUserSpec(),
                  getParentForChildren(),
                  isClean());
          userSpec_ = null;
        }
        return userSpecBuilder_;
      }
      @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.mdb.sqlserver.v1.CreateUserRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.CreateUserRequest)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CreateUserRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateUserRequest(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.mdb.sqlserver.v1.PSUS.CreateUserRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface CreateUserMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.CreateUserMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user is being created for.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user is being created for.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user being created.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user being created.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.CreateUserMetadata}
   */
  public static final class CreateUserMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.CreateUserMetadata)
      CreateUserMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateUserMetadata.newBuilder() to construct.
    private CreateUserMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private CreateUserMetadata() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateUserMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateUserMetadata(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user is being created for.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user is being created for.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user being created.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user being created.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      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.mdb.sqlserver.v1.PSUS.CreateUserMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata 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.mdb.sqlserver.v1.PSUS.CreateUserMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata 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.mdb.sqlserver.v1.PSUS.CreateUserMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata 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.mdb.sqlserver.v1.PSUS.CreateUserMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata 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.mdb.sqlserver.v1.PSUS.CreateUserMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata 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.mdb.sqlserver.v1.PSUS.CreateUserMetadata 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.mdb.sqlserver.v1.CreateUserMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.CreateUserMetadata)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata.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();
        clusterId_ = "";
        userName_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        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.mdb.sqlserver.v1.PSUS.CreateUserMetadata) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          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.mdb.sqlserver.v1.PSUS.CreateUserMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user is being created for.
       * 
       *
       * string cluster_id = 1;
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user is being created for.
       * 
       *
       * string cluster_id = 1;
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user is being created for.
       * 
       *
       * string cluster_id = 1;
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user is being created for.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user is being created for.
       * 
       *
       * string cluster_id = 1;
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user being created.
       * 
       *
       * string user_name = 2;
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user being created.
       * 
       *
       * string user_name = 2;
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user being created.
       * 
       *
       * string user_name = 2;
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being created.
       * 
       *
       * string user_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being created.
       * 
       *
       * string user_name = 2;
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = 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.mdb.sqlserver.v1.CreateUserMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.CreateUserMetadata)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.CreateUserMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CreateUserMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateUserMetadata(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.mdb.sqlserver.v1.PSUS.CreateUserMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface UpdateUserRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.UpdateUserRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user to be updated.
     * To get the name of the user use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user to be updated.
     * To get the name of the user use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
    /**
     * 
     * Field mask that specifies which fields of the SQL Server user should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 3;
     * @return Whether the updateMask field is set.
     */
    boolean hasUpdateMask();
    /**
     * 
     * Field mask that specifies which fields of the SQL Server user should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 3;
     * @return The updateMask.
     */
    com.google.protobuf.FieldMask getUpdateMask();
    /**
     * 
     * Field mask that specifies which fields of the SQL Server user should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 3;
     */
    com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder();
    /**
     * 
     * New password for the user.
     * 
     *
     * string password = 4 [(.yandex.cloud.length) = "8-128"];
     * @return The password.
     */
    java.lang.String getPassword();
    /**
     * 
     * New password for the user.
     * 
     *
     * string password = 4 [(.yandex.cloud.length) = "8-128"];
     * @return The bytes for password.
     */
    com.google.protobuf.ByteString
        getPasswordBytes();
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    java.util.List 
        getPermissionsList();
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermissions(int index);
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    int getPermissionsCount();
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    java.util.List extends yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> 
        getPermissionsOrBuilderList();
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionsOrBuilder(
        int index);
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @return A list containing the serverRoles.
     */
    java.util.List getServerRolesList();
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @return The count of serverRoles.
     */
    int getServerRolesCount();
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @param index The index of the element to return.
     * @return The serverRoles at the given index.
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole getServerRoles(int index);
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @return A list containing the enum numeric values on the wire for serverRoles.
     */
    java.util.List
    getServerRolesValueList();
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of serverRoles at the given index.
     */
    int getServerRolesValue(int index);
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.UpdateUserRequest}
   */
  public static final class UpdateUserRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.UpdateUserRequest)
      UpdateUserRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UpdateUserRequest.newBuilder() to construct.
    private UpdateUserRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private UpdateUserRequest() {
      clusterId_ = "";
      userName_ = "";
      password_ = "";
      permissions_ = java.util.Collections.emptyList();
      serverRoles_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UpdateUserRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UpdateUserRequest(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = s;
              break;
            }
            case 26: {
              com.google.protobuf.FieldMask.Builder subBuilder = null;
              if (updateMask_ != null) {
                subBuilder = updateMask_.toBuilder();
              }
              updateMask_ = input.readMessage(com.google.protobuf.FieldMask.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(updateMask_);
                updateMask_ = subBuilder.buildPartial();
              }
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              password_ = s;
              break;
            }
            case 42: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                permissions_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              permissions_.add(
                  input.readMessage(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.parser(), extensionRegistry));
              break;
            }
            case 48: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                serverRoles_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              serverRoles_.add(rawValue);
              break;
            }
            case 50: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  serverRoles_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000002;
                }
                serverRoles_.add(rawValue);
              }
              input.popLimit(oldLimit);
              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)) {
          permissions_ = java.util.Collections.unmodifiableList(permissions_);
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          serverRoles_ = java.util.Collections.unmodifiableList(serverRoles_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user to be updated.
     * To get the name of the user use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user to be updated.
     * To get the name of the user use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int UPDATE_MASK_FIELD_NUMBER = 3;
    private com.google.protobuf.FieldMask updateMask_;
    /**
     * 
     * Field mask that specifies which fields of the SQL Server user should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 3;
     * @return Whether the updateMask field is set.
     */
    @java.lang.Override
    public boolean hasUpdateMask() {
      return updateMask_ != null;
    }
    /**
     * 
     * Field mask that specifies which fields of the SQL Server user should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 3;
     * @return The updateMask.
     */
    @java.lang.Override
    public com.google.protobuf.FieldMask getUpdateMask() {
      return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_;
    }
    /**
     * 
     * Field mask that specifies which fields of the SQL Server user should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 3;
     */
    @java.lang.Override
    public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() {
      return getUpdateMask();
    }
    public static final int PASSWORD_FIELD_NUMBER = 4;
    private volatile java.lang.Object password_;
    /**
     * 
     * New password for the user.
     * 
     *
     * string password = 4 [(.yandex.cloud.length) = "8-128"];
     * @return The password.
     */
    @java.lang.Override
    public java.lang.String getPassword() {
      java.lang.Object ref = password_;
      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();
        password_ = s;
        return s;
      }
    }
    /**
     * 
     * New password for the user.
     * 
     *
     * string password = 4 [(.yandex.cloud.length) = "8-128"];
     * @return The bytes for password.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPasswordBytes() {
      java.lang.Object ref = password_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        password_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int PERMISSIONS_FIELD_NUMBER = 5;
    private java.util.List permissions_;
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    @java.lang.Override
    public java.util.List getPermissionsList() {
      return permissions_;
    }
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> 
        getPermissionsOrBuilderList() {
      return permissions_;
    }
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    @java.lang.Override
    public int getPermissionsCount() {
      return permissions_.size();
    }
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermissions(int index) {
      return permissions_.get(index);
    }
    /**
     * 
     * New set of permissions for the user.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionsOrBuilder(
        int index) {
      return permissions_.get(index);
    }
    public static final int SERVER_ROLES_FIELD_NUMBER = 6;
    private java.util.List serverRoles_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole> serverRoles_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole>() {
              public yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole result = yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole.valueOf(from);
                return result == null ? yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole.UNRECOGNIZED : result;
              }
            };
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @return A list containing the serverRoles.
     */
    @java.lang.Override
    public java.util.List getServerRolesList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole>(serverRoles_, serverRoles_converter_);
    }
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @return The count of serverRoles.
     */
    @java.lang.Override
    public int getServerRolesCount() {
      return serverRoles_.size();
    }
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @param index The index of the element to return.
     * @return The serverRoles at the given index.
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole getServerRoles(int index) {
      return serverRoles_converter_.convert(serverRoles_.get(index));
    }
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @return A list containing the enum numeric values on the wire for serverRoles.
     */
    @java.lang.Override
    public java.util.List
    getServerRolesValueList() {
      return serverRoles_;
    }
    /**
     * 
     * New set of server roles granted to the login.
     * 
     *
     * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of serverRoles at the given index.
     */
    @java.lang.Override
    public int getServerRolesValue(int index) {
      return serverRoles_.get(index);
    }
    private int serverRolesMemoizedSerializedSize;
    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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      if (updateMask_ != null) {
        output.writeMessage(3, getUpdateMask());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(password_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, password_);
      }
      for (int i = 0; i < permissions_.size(); i++) {
        output.writeMessage(5, permissions_.get(i));
      }
      if (getServerRolesList().size() > 0) {
        output.writeUInt32NoTag(50);
        output.writeUInt32NoTag(serverRolesMemoizedSerializedSize);
      }
      for (int i = 0; i < serverRoles_.size(); i++) {
        output.writeEnumNoTag(serverRoles_.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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      if (updateMask_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getUpdateMask());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(password_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, password_);
      }
      for (int i = 0; i < permissions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, permissions_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < serverRoles_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(serverRoles_.get(i));
        }
        size += dataSize;
        if (!getServerRolesList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }serverRolesMemoizedSerializedSize = dataSize;
      }
      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.mdb.sqlserver.v1.PSUS.UpdateUserRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) return false;
      if (hasUpdateMask() != other.hasUpdateMask()) return false;
      if (hasUpdateMask()) {
        if (!getUpdateMask()
            .equals(other.getUpdateMask())) return false;
      }
      if (!getPassword()
          .equals(other.getPassword())) return false;
      if (!getPermissionsList()
          .equals(other.getPermissionsList())) return false;
      if (!serverRoles_.equals(other.serverRoles_)) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      if (hasUpdateMask()) {
        hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER;
        hash = (53 * hash) + getUpdateMask().hashCode();
      }
      hash = (37 * hash) + PASSWORD_FIELD_NUMBER;
      hash = (53 * hash) + getPassword().hashCode();
      if (getPermissionsCount() > 0) {
        hash = (37 * hash) + PERMISSIONS_FIELD_NUMBER;
        hash = (53 * hash) + getPermissionsList().hashCode();
      }
      if (getServerRolesCount() > 0) {
        hash = (37 * hash) + SERVER_ROLES_FIELD_NUMBER;
        hash = (53 * hash) + serverRoles_.hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest 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.mdb.sqlserver.v1.PSUS.UpdateUserRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest 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.mdb.sqlserver.v1.PSUS.UpdateUserRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest 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.mdb.sqlserver.v1.PSUS.UpdateUserRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest 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.mdb.sqlserver.v1.PSUS.UpdateUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest 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.mdb.sqlserver.v1.PSUS.UpdateUserRequest 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.mdb.sqlserver.v1.UpdateUserRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.UpdateUserRequest)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPermissionsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        clusterId_ = "";
        userName_ = "";
        if (updateMaskBuilder_ == null) {
          updateMask_ = null;
        } else {
          updateMask_ = null;
          updateMaskBuilder_ = null;
        }
        password_ = "";
        if (permissionsBuilder_ == null) {
          permissions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          permissionsBuilder_.clear();
        }
        serverRoles_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest(this);
        int from_bitField0_ = bitField0_;
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        if (updateMaskBuilder_ == null) {
          result.updateMask_ = updateMask_;
        } else {
          result.updateMask_ = updateMaskBuilder_.build();
        }
        result.password_ = password_;
        if (permissionsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            permissions_ = java.util.Collections.unmodifiableList(permissions_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.permissions_ = permissions_;
        } else {
          result.permissions_ = permissionsBuilder_.build();
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          serverRoles_ = java.util.Collections.unmodifiableList(serverRoles_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.serverRoles_ = serverRoles_;
        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.mdb.sqlserver.v1.PSUS.UpdateUserRequest) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          onChanged();
        }
        if (other.hasUpdateMask()) {
          mergeUpdateMask(other.getUpdateMask());
        }
        if (!other.getPassword().isEmpty()) {
          password_ = other.password_;
          onChanged();
        }
        if (permissionsBuilder_ == null) {
          if (!other.permissions_.isEmpty()) {
            if (permissions_.isEmpty()) {
              permissions_ = other.permissions_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensurePermissionsIsMutable();
              permissions_.addAll(other.permissions_);
            }
            onChanged();
          }
        } else {
          if (!other.permissions_.isEmpty()) {
            if (permissionsBuilder_.isEmpty()) {
              permissionsBuilder_.dispose();
              permissionsBuilder_ = null;
              permissions_ = other.permissions_;
              bitField0_ = (bitField0_ & ~0x00000001);
              permissionsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getPermissionsFieldBuilder() : null;
            } else {
              permissionsBuilder_.addAllMessages(other.permissions_);
            }
          }
        }
        if (!other.serverRoles_.isEmpty()) {
          if (serverRoles_.isEmpty()) {
            serverRoles_ = other.serverRoles_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureServerRolesIsMutable();
            serverRoles_.addAll(other.serverRoles_);
          }
          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.mdb.sqlserver.v1.PSUS.UpdateUserRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user to be updated.
       * To get the name of the user use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user to be updated.
       * To get the name of the user use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user to be updated.
       * To get the name of the user use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to be updated.
       * To get the name of the user use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to be updated.
       * To get the name of the user use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = value;
        onChanged();
        return this;
      }
      private com.google.protobuf.FieldMask updateMask_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.FieldMask, com.google.protobuf.FieldMask.Builder, com.google.protobuf.FieldMaskOrBuilder> updateMaskBuilder_;
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       * @return Whether the updateMask field is set.
       */
      public boolean hasUpdateMask() {
        return updateMaskBuilder_ != null || updateMask_ != null;
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       * @return The updateMask.
       */
      public com.google.protobuf.FieldMask getUpdateMask() {
        if (updateMaskBuilder_ == null) {
          return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_;
        } else {
          return updateMaskBuilder_.getMessage();
        }
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       */
      public Builder setUpdateMask(com.google.protobuf.FieldMask value) {
        if (updateMaskBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          updateMask_ = value;
          onChanged();
        } else {
          updateMaskBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       */
      public Builder setUpdateMask(
          com.google.protobuf.FieldMask.Builder builderForValue) {
        if (updateMaskBuilder_ == null) {
          updateMask_ = builderForValue.build();
          onChanged();
        } else {
          updateMaskBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       */
      public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) {
        if (updateMaskBuilder_ == null) {
          if (updateMask_ != null) {
            updateMask_ =
              com.google.protobuf.FieldMask.newBuilder(updateMask_).mergeFrom(value).buildPartial();
          } else {
            updateMask_ = value;
          }
          onChanged();
        } else {
          updateMaskBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       */
      public Builder clearUpdateMask() {
        if (updateMaskBuilder_ == null) {
          updateMask_ = null;
          onChanged();
        } else {
          updateMask_ = null;
          updateMaskBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       */
      public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() {
        
        onChanged();
        return getUpdateMaskFieldBuilder().getBuilder();
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       */
      public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() {
        if (updateMaskBuilder_ != null) {
          return updateMaskBuilder_.getMessageOrBuilder();
        } else {
          return updateMask_ == null ?
              com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_;
        }
      }
      /**
       * 
       * Field mask that specifies which fields of the SQL Server user should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.FieldMask, com.google.protobuf.FieldMask.Builder, com.google.protobuf.FieldMaskOrBuilder> 
          getUpdateMaskFieldBuilder() {
        if (updateMaskBuilder_ == null) {
          updateMaskBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.FieldMask, com.google.protobuf.FieldMask.Builder, com.google.protobuf.FieldMaskOrBuilder>(
                  getUpdateMask(),
                  getParentForChildren(),
                  isClean());
          updateMask_ = null;
        }
        return updateMaskBuilder_;
      }
      private java.lang.Object password_ = "";
      /**
       * 
       * New password for the user.
       * 
       *
       * string password = 4 [(.yandex.cloud.length) = "8-128"];
       * @return The password.
       */
      public java.lang.String getPassword() {
        java.lang.Object ref = password_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          password_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * New password for the user.
       * 
       *
       * string password = 4 [(.yandex.cloud.length) = "8-128"];
       * @return The bytes for password.
       */
      public com.google.protobuf.ByteString
          getPasswordBytes() {
        java.lang.Object ref = password_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          password_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * New password for the user.
       * 
       *
       * string password = 4 [(.yandex.cloud.length) = "8-128"];
       * @param value The password to set.
       * @return This builder for chaining.
       */
      public Builder setPassword(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        password_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * New password for the user.
       * 
       *
       * string password = 4 [(.yandex.cloud.length) = "8-128"];
       * @return This builder for chaining.
       */
      public Builder clearPassword() {
        
        password_ = getDefaultInstance().getPassword();
        onChanged();
        return this;
      }
      /**
       * 
       * New password for the user.
       * 
       *
       * string password = 4 [(.yandex.cloud.length) = "8-128"];
       * @param value The bytes for password to set.
       * @return This builder for chaining.
       */
      public Builder setPasswordBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        password_ = value;
        onChanged();
        return this;
      }
      private java.util.List permissions_ =
        java.util.Collections.emptyList();
      private void ensurePermissionsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          permissions_ = new java.util.ArrayList(permissions_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> permissionsBuilder_;
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public java.util.List getPermissionsList() {
        if (permissionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(permissions_);
        } else {
          return permissionsBuilder_.getMessageList();
        }
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public int getPermissionsCount() {
        if (permissionsBuilder_ == null) {
          return permissions_.size();
        } else {
          return permissionsBuilder_.getCount();
        }
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermissions(int index) {
        if (permissionsBuilder_ == null) {
          return permissions_.get(index);
        } else {
          return permissionsBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder setPermissions(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission value) {
        if (permissionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePermissionsIsMutable();
          permissions_.set(index, value);
          onChanged();
        } else {
          permissionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder setPermissions(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder builderForValue) {
        if (permissionsBuilder_ == null) {
          ensurePermissionsIsMutable();
          permissions_.set(index, builderForValue.build());
          onChanged();
        } else {
          permissionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder addPermissions(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission value) {
        if (permissionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePermissionsIsMutable();
          permissions_.add(value);
          onChanged();
        } else {
          permissionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder addPermissions(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission value) {
        if (permissionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePermissionsIsMutable();
          permissions_.add(index, value);
          onChanged();
        } else {
          permissionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder addPermissions(
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder builderForValue) {
        if (permissionsBuilder_ == null) {
          ensurePermissionsIsMutable();
          permissions_.add(builderForValue.build());
          onChanged();
        } else {
          permissionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder addPermissions(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder builderForValue) {
        if (permissionsBuilder_ == null) {
          ensurePermissionsIsMutable();
          permissions_.add(index, builderForValue.build());
          onChanged();
        } else {
          permissionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder addAllPermissions(
          java.lang.Iterable extends yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission> values) {
        if (permissionsBuilder_ == null) {
          ensurePermissionsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, permissions_);
          onChanged();
        } else {
          permissionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder clearPermissions() {
        if (permissionsBuilder_ == null) {
          permissions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          permissionsBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public Builder removePermissions(int index) {
        if (permissionsBuilder_ == null) {
          ensurePermissionsIsMutable();
          permissions_.remove(index);
          onChanged();
        } else {
          permissionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder getPermissionsBuilder(
          int index) {
        return getPermissionsFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionsOrBuilder(
          int index) {
        if (permissionsBuilder_ == null) {
          return permissions_.get(index);  } else {
          return permissionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public java.util.List extends yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> 
           getPermissionsOrBuilderList() {
        if (permissionsBuilder_ != null) {
          return permissionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(permissions_);
        }
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder addPermissionsBuilder() {
        return getPermissionsFieldBuilder().addBuilder(
            yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance());
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder addPermissionsBuilder(
          int index) {
        return getPermissionsFieldBuilder().addBuilder(
            index, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance());
      }
      /**
       * 
       * New set of permissions for the user.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.Permission permissions = 5;
       */
      public java.util.List 
           getPermissionsBuilderList() {
        return getPermissionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> 
          getPermissionsFieldBuilder() {
        if (permissionsBuilder_ == null) {
          permissionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder>(
                  permissions_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          permissions_ = null;
        }
        return permissionsBuilder_;
      }
      private java.util.List serverRoles_ =
        java.util.Collections.emptyList();
      private void ensureServerRolesIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          serverRoles_ = new java.util.ArrayList(serverRoles_);
          bitField0_ |= 0x00000002;
        }
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @return A list containing the serverRoles.
       */
      public java.util.List getServerRolesList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole>(serverRoles_, serverRoles_converter_);
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @return The count of serverRoles.
       */
      public int getServerRolesCount() {
        return serverRoles_.size();
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param index The index of the element to return.
       * @return The serverRoles at the given index.
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole getServerRoles(int index) {
        return serverRoles_converter_.convert(serverRoles_.get(index));
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param index The index to set the value at.
       * @param value The serverRoles to set.
       * @return This builder for chaining.
       */
      public Builder setServerRoles(
          int index, yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureServerRolesIsMutable();
        serverRoles_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param value The serverRoles to add.
       * @return This builder for chaining.
       */
      public Builder addServerRoles(yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureServerRolesIsMutable();
        serverRoles_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param values The serverRoles to add.
       * @return This builder for chaining.
       */
      public Builder addAllServerRoles(
          java.lang.Iterable extends yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole> values) {
        ensureServerRolesIsMutable();
        for (yandex.cloud.api.mdb.sqlserver.v1.PSU.ServerRole value : values) {
          serverRoles_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @return This builder for chaining.
       */
      public Builder clearServerRoles() {
        serverRoles_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @return A list containing the enum numeric values on the wire for serverRoles.
       */
      public java.util.List
      getServerRolesValueList() {
        return java.util.Collections.unmodifiableList(serverRoles_);
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of serverRoles at the given index.
       */
      public int getServerRolesValue(int index) {
        return serverRoles_.get(index);
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of serverRoles at the given index.
       * @return This builder for chaining.
       */
      public Builder setServerRolesValue(
          int index, int value) {
        ensureServerRolesIsMutable();
        serverRoles_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param value The enum numeric value on the wire for serverRoles to add.
       * @return This builder for chaining.
       */
      public Builder addServerRolesValue(int value) {
        ensureServerRolesIsMutable();
        serverRoles_.add(value);
        onChanged();
        return this;
      }
      /**
       * 
       * New set of server roles granted to the login.
       * 
       *
       * repeated .yandex.cloud.mdb.sqlserver.v1.ServerRole server_roles = 6;
       * @param values The enum numeric values on the wire for serverRoles to add.
       * @return This builder for chaining.
       */
      public Builder addAllServerRolesValue(
          java.lang.Iterable values) {
        ensureServerRolesIsMutable();
        for (int value : values) {
          serverRoles_.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.mdb.sqlserver.v1.UpdateUserRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.UpdateUserRequest)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public UpdateUserRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new UpdateUserRequest(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.mdb.sqlserver.v1.PSUS.UpdateUserRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface UpdateUserMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.UpdateUserMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user being updated.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user being updated.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.UpdateUserMetadata}
   */
  public static final class UpdateUserMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.UpdateUserMetadata)
      UpdateUserMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UpdateUserMetadata.newBuilder() to construct.
    private UpdateUserMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private UpdateUserMetadata() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UpdateUserMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UpdateUserMetadata(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user being updated.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user being updated.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata 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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata 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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata 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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata 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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata 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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata 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.mdb.sqlserver.v1.UpdateUserMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.UpdateUserMetadata)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata.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();
        clusterId_ = "";
        userName_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user being updated.
       * 
       *
       * string user_name = 2;
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user being updated.
       * 
       *
       * string user_name = 2;
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user being updated.
       * 
       *
       * string user_name = 2;
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being updated.
       * 
       *
       * string user_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being updated.
       * 
       *
       * string user_name = 2;
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = 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.mdb.sqlserver.v1.UpdateUserMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.UpdateUserMetadata)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.UpdateUserMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public UpdateUserMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new UpdateUserMetadata(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.mdb.sqlserver.v1.PSUS.UpdateUserMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface DeleteUserRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.DeleteUserRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user to delete.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user to delete.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.DeleteUserRequest}
   */
  public static final class DeleteUserRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.DeleteUserRequest)
      DeleteUserRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteUserRequest.newBuilder() to construct.
    private DeleteUserRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private DeleteUserRequest() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DeleteUserRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteUserRequest(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user to delete.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user to delete.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      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.mdb.sqlserver.v1.PSUS.DeleteUserRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest 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.mdb.sqlserver.v1.PSUS.DeleteUserRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest 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.mdb.sqlserver.v1.PSUS.DeleteUserRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest 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.mdb.sqlserver.v1.PSUS.DeleteUserRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest 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.mdb.sqlserver.v1.PSUS.DeleteUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest 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.mdb.sqlserver.v1.PSUS.DeleteUserRequest 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.mdb.sqlserver.v1.DeleteUserRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.DeleteUserRequest)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest.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();
        clusterId_ = "";
        userName_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        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.mdb.sqlserver.v1.PSUS.DeleteUserRequest) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          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.mdb.sqlserver.v1.PSUS.DeleteUserRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user to delete.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user to delete.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user to delete.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to delete.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to delete.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = 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.mdb.sqlserver.v1.DeleteUserRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.DeleteUserRequest)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public DeleteUserRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DeleteUserRequest(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.mdb.sqlserver.v1.PSUS.DeleteUserRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface DeleteUserMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.DeleteUserMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user being deleted.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user being deleted.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.DeleteUserMetadata}
   */
  public static final class DeleteUserMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.DeleteUserMetadata)
      DeleteUserMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteUserMetadata.newBuilder() to construct.
    private DeleteUserMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private DeleteUserMetadata() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DeleteUserMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteUserMetadata(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user being deleted.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user being deleted.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata 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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata 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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata 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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata 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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata 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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata 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.mdb.sqlserver.v1.DeleteUserMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.DeleteUserMetadata)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata.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();
        clusterId_ = "";
        userName_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user being deleted.
       * 
       *
       * string user_name = 2;
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user being deleted.
       * 
       *
       * string user_name = 2;
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user being deleted.
       * 
       *
       * string user_name = 2;
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being deleted.
       * 
       *
       * string user_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being deleted.
       * 
       *
       * string user_name = 2;
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = 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.mdb.sqlserver.v1.DeleteUserMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.DeleteUserMetadata)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.DeleteUserMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public DeleteUserMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DeleteUserMetadata(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.mdb.sqlserver.v1.PSUS.DeleteUserMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface GrantUserPermissionRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user to grant the permission to.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user to grant the permission to.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
    /**
     * 
     * Permission that should be granted to the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return Whether the permission field is set.
     */
    boolean hasPermission();
    /**
     * 
     * Permission that should be granted to the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return The permission.
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermission();
    /**
     * 
     * Permission that should be granted to the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionOrBuilder();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionRequest}
   */
  public static final class GrantUserPermissionRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionRequest)
      GrantUserPermissionRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GrantUserPermissionRequest.newBuilder() to construct.
    private GrantUserPermissionRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private GrantUserPermissionRequest() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GrantUserPermissionRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GrantUserPermissionRequest(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = s;
              break;
            }
            case 26: {
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder subBuilder = null;
              if (permission_ != null) {
                subBuilder = permission_.toBuilder();
              }
              permission_ = input.readMessage(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(permission_);
                permission_ = subBuilder.buildPartial();
              }
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user to grant the permission to.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user to grant the permission to.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int PERMISSION_FIELD_NUMBER = 3;
    private yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission permission_;
    /**
     * 
     * Permission that should be granted to the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return Whether the permission field is set.
     */
    @java.lang.Override
    public boolean hasPermission() {
      return permission_ != null;
    }
    /**
     * 
     * Permission that should be granted to the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return The permission.
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermission() {
      return permission_ == null ? yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance() : permission_;
    }
    /**
     * 
     * Permission that should be granted to the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionOrBuilder() {
      return getPermission();
    }
    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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      if (permission_ != null) {
        output.writeMessage(3, getPermission());
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      if (permission_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getPermission());
      }
      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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) return false;
      if (hasPermission() != other.hasPermission()) return false;
      if (hasPermission()) {
        if (!getPermission()
            .equals(other.getPermission())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      if (hasPermission()) {
        hash = (37 * hash) + PERMISSION_FIELD_NUMBER;
        hash = (53 * hash) + getPermission().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest 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.mdb.sqlserver.v1.GrantUserPermissionRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionRequest)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest.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();
        clusterId_ = "";
        userName_ = "";
        if (permissionBuilder_ == null) {
          permission_ = null;
        } else {
          permission_ = null;
          permissionBuilder_ = null;
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        if (permissionBuilder_ == null) {
          result.permission_ = permission_;
        } else {
          result.permission_ = permissionBuilder_.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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          onChanged();
        }
        if (other.hasPermission()) {
          mergePermission(other.getPermission());
        }
        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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user to grant the permission to.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user to grant the permission to.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user to grant the permission to.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to grant the permission to.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to grant the permission to.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission permission_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> permissionBuilder_;
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       * @return Whether the permission field is set.
       */
      public boolean hasPermission() {
        return permissionBuilder_ != null || permission_ != null;
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       * @return The permission.
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermission() {
        if (permissionBuilder_ == null) {
          return permission_ == null ? yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance() : permission_;
        } else {
          return permissionBuilder_.getMessage();
        }
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder setPermission(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission value) {
        if (permissionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          permission_ = value;
          onChanged();
        } else {
          permissionBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder setPermission(
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder builderForValue) {
        if (permissionBuilder_ == null) {
          permission_ = builderForValue.build();
          onChanged();
        } else {
          permissionBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder mergePermission(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission value) {
        if (permissionBuilder_ == null) {
          if (permission_ != null) {
            permission_ =
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.newBuilder(permission_).mergeFrom(value).buildPartial();
          } else {
            permission_ = value;
          }
          onChanged();
        } else {
          permissionBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder clearPermission() {
        if (permissionBuilder_ == null) {
          permission_ = null;
          onChanged();
        } else {
          permission_ = null;
          permissionBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder getPermissionBuilder() {
        
        onChanged();
        return getPermissionFieldBuilder().getBuilder();
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionOrBuilder() {
        if (permissionBuilder_ != null) {
          return permissionBuilder_.getMessageOrBuilder();
        } else {
          return permission_ == null ?
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance() : permission_;
        }
      }
      /**
       * 
       * Permission that should be granted to the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> 
          getPermissionFieldBuilder() {
        if (permissionBuilder_ == null) {
          permissionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder>(
                  getPermission(),
                  getParentForChildren(),
                  isClean());
          permission_ = null;
        }
        return permissionBuilder_;
      }
      @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.mdb.sqlserver.v1.GrantUserPermissionRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionRequest)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public GrantUserPermissionRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GrantUserPermissionRequest(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.mdb.sqlserver.v1.PSUS.GrantUserPermissionRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface GrantUserPermissionMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user being granted a permission.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user being granted a permission.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionMetadata}
   */
  public static final class GrantUserPermissionMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionMetadata)
      GrantUserPermissionMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GrantUserPermissionMetadata.newBuilder() to construct.
    private GrantUserPermissionMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private GrantUserPermissionMetadata() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GrantUserPermissionMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GrantUserPermissionMetadata(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user being granted a permission.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user being granted a permission.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata 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.mdb.sqlserver.v1.GrantUserPermissionMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionMetadata)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata.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();
        clusterId_ = "";
        userName_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1;
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1;
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1;
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1;
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user being granted a permission.
       * 
       *
       * string user_name = 2;
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user being granted a permission.
       * 
       *
       * string user_name = 2;
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user being granted a permission.
       * 
       *
       * string user_name = 2;
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being granted a permission.
       * 
       *
       * string user_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user being granted a permission.
       * 
       *
       * string user_name = 2;
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = 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.mdb.sqlserver.v1.GrantUserPermissionMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.GrantUserPermissionMetadata)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public GrantUserPermissionMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GrantUserPermissionMetadata(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.mdb.sqlserver.v1.PSUS.GrantUserPermissionMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface RevokeUserPermissionRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user to revoke a permission from.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user to revoke a permission from.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
    /**
     * 
     * Permission that should be revoked from the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return Whether the permission field is set.
     */
    boolean hasPermission();
    /**
     * 
     * Permission that should be revoked from the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return The permission.
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermission();
    /**
     * 
     * Permission that should be revoked from the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     */
    yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionOrBuilder();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionRequest}
   */
  public static final class RevokeUserPermissionRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionRequest)
      RevokeUserPermissionRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RevokeUserPermissionRequest.newBuilder() to construct.
    private RevokeUserPermissionRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private RevokeUserPermissionRequest() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RevokeUserPermissionRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RevokeUserPermissionRequest(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = s;
              break;
            }
            case 26: {
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder subBuilder = null;
              if (permission_ != null) {
                subBuilder = permission_.toBuilder();
              }
              permission_ = input.readMessage(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(permission_);
                permission_ = subBuilder.buildPartial();
              }
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * To get the cluster ID, use a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user to revoke a permission from.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user to revoke a permission from.
     * To get the name of the user, use a [UserService.List] request.
     * 
     *
     * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int PERMISSION_FIELD_NUMBER = 3;
    private yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission permission_;
    /**
     * 
     * Permission that should be revoked from the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return Whether the permission field is set.
     */
    @java.lang.Override
    public boolean hasPermission() {
      return permission_ != null;
    }
    /**
     * 
     * Permission that should be revoked from the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     * @return The permission.
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermission() {
      return permission_ == null ? yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance() : permission_;
    }
    /**
     * 
     * Permission that should be revoked from the specified user.
     * 
     *
     * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
     */
    @java.lang.Override
    public yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionOrBuilder() {
      return getPermission();
    }
    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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      if (permission_ != null) {
        output.writeMessage(3, getPermission());
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      if (permission_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getPermission());
      }
      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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) return false;
      if (hasPermission() != other.hasPermission()) return false;
      if (hasPermission()) {
        if (!getPermission()
            .equals(other.getPermission())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      if (hasPermission()) {
        hash = (37 * hash) + PERMISSION_FIELD_NUMBER;
        hash = (53 * hash) + getPermission().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest 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.mdb.sqlserver.v1.RevokeUserPermissionRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionRequest)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest.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();
        clusterId_ = "";
        userName_ = "";
        if (permissionBuilder_ == null) {
          permission_ = null;
        } else {
          permission_ = null;
          permissionBuilder_ = null;
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        if (permissionBuilder_ == null) {
          result.permission_ = permission_;
        } else {
          result.permission_ = permissionBuilder_.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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          onChanged();
        }
        if (other.hasPermission()) {
          mergePermission(other.getPermission());
        }
        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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * To get the cluster ID, use a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user to revoke a permission from.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user to revoke a permission from.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user to revoke a permission from.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to revoke a permission from.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user to revoke a permission from.
       * To get the name of the user, use a [UserService.List] request.
       * 
       *
       * string user_name = 2 [(.yandex.cloud.required) = true, (.yandex.cloud.pattern) = "[a-zA-Z0-9_]*", (.yandex.cloud.length) = "<=63"];
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission permission_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> permissionBuilder_;
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       * @return Whether the permission field is set.
       */
      public boolean hasPermission() {
        return permissionBuilder_ != null || permission_ != null;
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       * @return The permission.
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission getPermission() {
        if (permissionBuilder_ == null) {
          return permission_ == null ? yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance() : permission_;
        } else {
          return permissionBuilder_.getMessage();
        }
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder setPermission(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission value) {
        if (permissionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          permission_ = value;
          onChanged();
        } else {
          permissionBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder setPermission(
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder builderForValue) {
        if (permissionBuilder_ == null) {
          permission_ = builderForValue.build();
          onChanged();
        } else {
          permissionBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder mergePermission(yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission value) {
        if (permissionBuilder_ == null) {
          if (permission_ != null) {
            permission_ =
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.newBuilder(permission_).mergeFrom(value).buildPartial();
          } else {
            permission_ = value;
          }
          onChanged();
        } else {
          permissionBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public Builder clearPermission() {
        if (permissionBuilder_ == null) {
          permission_ = null;
          onChanged();
        } else {
          permission_ = null;
          permissionBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder getPermissionBuilder() {
        
        onChanged();
        return getPermissionFieldBuilder().getBuilder();
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder getPermissionOrBuilder() {
        if (permissionBuilder_ != null) {
          return permissionBuilder_.getMessageOrBuilder();
        } else {
          return permission_ == null ?
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.getDefaultInstance() : permission_;
        }
      }
      /**
       * 
       * Permission that should be revoked from the specified user.
       * 
       *
       * .yandex.cloud.mdb.sqlserver.v1.Permission permission = 3 [(.yandex.cloud.required) = true];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder> 
          getPermissionFieldBuilder() {
        if (permissionBuilder_ == null) {
          permissionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission, yandex.cloud.api.mdb.sqlserver.v1.PSU.Permission.Builder, yandex.cloud.api.mdb.sqlserver.v1.PSU.PermissionOrBuilder>(
                  getPermission(),
                  getParentForChildren(),
                  isClean());
          permission_ = null;
        }
        return permissionBuilder_;
      }
      @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.mdb.sqlserver.v1.RevokeUserPermissionRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionRequest)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public RevokeUserPermissionRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RevokeUserPermissionRequest(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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface RevokeUserPermissionMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Name of the user whose permission is being revoked.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    java.lang.String getUserName();
    /**
     * 
     * Name of the user whose permission is being revoked.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    com.google.protobuf.ByteString
        getUserNameBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionMetadata}
   */
  public static final class RevokeUserPermissionMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionMetadata)
      RevokeUserPermissionMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RevokeUserPermissionMetadata.newBuilder() to construct.
    private RevokeUserPermissionMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private RevokeUserPermissionMetadata() {
      clusterId_ = "";
      userName_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RevokeUserPermissionMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RevokeUserPermissionMetadata(
        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();
              clusterId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              userName_ = 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.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    @java.lang.Override
    public java.lang.String getClusterId() {
      java.lang.Object ref = clusterId_;
      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();
        clusterId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the SQL Server cluster the user belongs to.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClusterIdBytes() {
      java.lang.Object ref = clusterId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clusterId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int USER_NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object userName_;
    /**
     * 
     * Name of the user whose permission is being revoked.
     * 
     *
     * string user_name = 2;
     * @return The userName.
     */
    @java.lang.Override
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      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();
        userName_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the user whose permission is being revoked.
     * 
     *
     * string user_name = 2;
     * @return The bytes for userName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = 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(clusterId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userName_);
      }
      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(clusterId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userName_);
      }
      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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata other = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (!getUserName()
          .equals(other.getUserName())) 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) + CLUSTER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClusterId().hashCode();
      hash = (37 * hash) + USER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getUserName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata 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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata 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.mdb.sqlserver.v1.RevokeUserPermissionMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionMetadata)
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata.class, yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata.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();
        clusterId_ = "";
        userName_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata build() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata buildPartial() {
        yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata result = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata(this);
        result.clusterId_ = clusterId_;
        result.userName_ = userName_;
        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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata) {
          return mergeFrom((yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata other) {
        if (other == yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (!other.getUserName().isEmpty()) {
          userName_ = other.userName_;
          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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return The clusterId.
       */
      public java.lang.String getClusterId() {
        java.lang.Object ref = clusterId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clusterId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return The bytes for clusterId.
       */
      public com.google.protobuf.ByteString
          getClusterIdBytes() {
        java.lang.Object ref = clusterId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clusterId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @param value The clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clusterId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the SQL Server cluster the user belongs to.
       * 
       *
       * string cluster_id = 1;
       * @param value The bytes for clusterId to set.
       * @return This builder for chaining.
       */
      public Builder setClusterIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clusterId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object userName_ = "";
      /**
       * 
       * Name of the user whose permission is being revoked.
       * 
       *
       * string user_name = 2;
       * @return The userName.
       */
      public java.lang.String getUserName() {
        java.lang.Object ref = userName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the user whose permission is being revoked.
       * 
       *
       * string user_name = 2;
       * @return The bytes for userName.
       */
      public com.google.protobuf.ByteString
          getUserNameBytes() {
        java.lang.Object ref = userName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the user whose permission is being revoked.
       * 
       *
       * string user_name = 2;
       * @param value The userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        userName_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user whose permission is being revoked.
       * 
       *
       * string user_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearUserName() {
        
        userName_ = getDefaultInstance().getUserName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the user whose permission is being revoked.
       * 
       *
       * string user_name = 2;
       * @param value The bytes for userName to set.
       * @return This builder for chaining.
       */
      public Builder setUserNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        userName_ = 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.mdb.sqlserver.v1.RevokeUserPermissionMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.mdb.sqlserver.v1.RevokeUserPermissionMetadata)
    private static final yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata();
    }
    public static yandex.cloud.api.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public RevokeUserPermissionMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RevokeUserPermissionMetadata(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.mdb.sqlserver.v1.PSUS.RevokeUserPermissionMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_fieldAccessorTable;
  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n0yandex/cloud/mdb/sqlserver/v1/user_ser" +
      "vice.proto\022\035yandex.cloud.mdb.sqlserver.v" +
      "1\032\034google/api/annotations.proto\032 google/" +
      "protobuf/field_mask.proto\032 yandex/cloud/" +
      "api/operation.proto\032&yandex/cloud/operat" +
      "ion/operation.proto\032\035yandex/cloud/valida" +
      "tion.proto\032(yandex/cloud/mdb/sqlserver/v" +
      "1/user.proto\"d\n\016GetUserRequest\022 \n\ncluste" +
      "r_id\030\001 \001(\tB\014\350\3071\001\212\3101\004<=50\0220\n\tuser_name\030\002 " +
      "\001(\tB\035\350\3071\001\212\3101\004<=63\362\3071\r[a-zA-Z0-9_]*\"r\n\020Li" +
      "stUsersRequest\022 \n\ncluster_id\030\001 \001(\tB\014\350\3071\001" +
      "\212\3101\004<=50\022\035\n\tpage_size\030\002 \001(\003B\n\372\3071\0060-1000\022" +
      "\035\n\npage_token\030\003 \001(\tB\t\212\3101\005<=100\"`\n\021ListUs" +
      "ersResponse\0222\n\005users\030\001 \003(\0132#.yandex.clou" +
      "d.mdb.sqlserver.v1.User\022\027\n\017next_page_tok" +
      "en\030\002 \001(\t\"w\n\021CreateUserRequest\022 \n\ncluster" +
      "_id\030\001 \001(\tB\014\350\3071\001\212\3101\004<=50\022@\n\tuser_spec\030\002 \001" +
      "(\0132\'.yandex.cloud.mdb.sqlserver.v1.UserS" +
      "pecB\004\350\3071\001\";\n\022CreateUserMetadata\022\022\n\nclust" +
      "er_id\030\001 \001(\t\022\021\n\tuser_name\030\002 \001(\t\"\266\002\n\021Updat" +
      "eUserRequest\022 \n\ncluster_id\030\001 \001(\tB\014\350\3071\001\212\310" +
      "1\004<=50\0220\n\tuser_name\030\002 \001(\tB\035\350\3071\001\212\3101\004<=63\362" +
      "\3071\r[a-zA-Z0-9_]*\022/\n\013update_mask\030\003 \001(\0132\032." +
      "google.protobuf.FieldMask\022\033\n\010password\030\004 " +
      "\001(\tB\t\212\3101\0058-128\022>\n\013permissions\030\005 \003(\0132).ya" +
      "ndex.cloud.mdb.sqlserver.v1.Permission\022?" +
      "\n\014server_roles\030\006 \003(\0162).yandex.cloud.mdb." +
      "sqlserver.v1.ServerRole\";\n\022UpdateUserMet" +
      "adata\022\022\n\ncluster_id\030\001 \001(\t\022\021\n\tuser_name\030\002" +
      " \001(\t\"g\n\021DeleteUserRequest\022 \n\ncluster_id\030" +
      "\001 \001(\tB\014\350\3071\001\212\3101\004<=50\0220\n\tuser_name\030\002 \001(\tB\035" +
      "\350\3071\001\212\3101\004<=63\362\3071\r[a-zA-Z0-9_]*\";\n\022DeleteU" +
      "serMetadata\022\022\n\ncluster_id\030\001 \001(\t\022\021\n\tuser_" +
      "name\030\002 \001(\t\"\265\001\n\032GrantUserPermissionReques" +
      "t\022 \n\ncluster_id\030\001 \001(\tB\014\350\3071\001\212\3101\004<=50\0220\n\tu" +
      "ser_name\030\002 \001(\tB\035\350\3071\001\212\3101\004<=63\362\3071\r[a-zA-Z0" +
      "-9_]*\022C\n\npermission\030\003 \001(\0132).yandex.cloud" +
      ".mdb.sqlserver.v1.PermissionB\004\350\3071\001\"D\n\033Gr" +
      "antUserPermissionMetadata\022\022\n\ncluster_id\030" +
      "\001 \001(\t\022\021\n\tuser_name\030\002 \001(\t\"\266\001\n\033RevokeUserP" +
      "ermissionRequest\022 \n\ncluster_id\030\001 \001(\tB\014\350\307" +
      "1\001\212\3101\004<=50\0220\n\tuser_name\030\002 \001(\tB\035\350\3071\001\212\3101\004<" +
      "=63\362\3071\r[a-zA-Z0-9_]*\022C\n\npermission\030\003 \001(\013" +
      "2).yandex.cloud.mdb.sqlserver.v1.Permiss" +
      "ionB\004\350\3071\001\"E\n\034RevokeUserPermissionMetadat" +
      "a\022\022\n\ncluster_id\030\001 \001(\t\022\021\n\tuser_name\030\002 \001(\t" +
      "2\377\n\n\013UserService\022\234\001\n\003Get\022-.yandex.cloud." +
      "mdb.sqlserver.v1.GetUserRequest\032#.yandex" +
      ".cloud.mdb.sqlserver.v1.User\"A\202\323\344\223\002;\0229/m" +
      "db/sqlserver/v1/clusters/{cluster_id}/us" +
      "ers/{user_name}\022\240\001\n\004List\022/.yandex.cloud." +
      "mdb.sqlserver.v1.ListUsersRequest\0320.yand" +
      "ex.cloud.mdb.sqlserver.v1.ListUsersRespo" +
      "nse\"5\202\323\344\223\002/\022-/mdb/sqlserver/v1/clusters/" +
      "{cluster_id}/users\022\265\001\n\006Create\0220.yandex.c" +
      "loud.mdb.sqlserver.v1.CreateUserRequest\032" +
      "!.yandex.cloud.operation.Operation\"V\202\323\344\223" +
      "\0022\"-/mdb/sqlserver/v1/clusters/{cluster_" +
      "id}/users:\001*\262\322*\032\n\022CreateUserMetadata\022\004Us" +
      "er\022\301\001\n\006Update\0220.yandex.cloud.mdb.sqlserv" +
      "er.v1.UpdateUserRequest\032!.yandex.cloud.o" +
      "peration.Operation\"b\202\323\344\223\002>29/mdb/sqlserv" +
      "er/v1/clusters/{cluster_id}/users/{user_" +
      "name}:\001*\262\322*\032\n\022UpdateUserMetadata\022\004User\022\317" +
      "\001\n\006Delete\0220.yandex.cloud.mdb.sqlserver.v" +
      "1.DeleteUserRequest\032!.yandex.cloud.opera" +
      "tion.Operation\"p\202\323\344\223\002;*9/mdb/sqlserver/v" +
      "1/clusters/{cluster_id}/users/{user_name" +
      "}\262\322*+\n\022DeleteUserMetadata\022\025google.protob" +
      "uf.Empty\022\354\001\n\017GrantPermission\0229.yandex.cl" +
      "oud.mdb.sqlserver.v1.GrantUserPermission" +
      "Request\032!.yandex.cloud.operation.Operati" +
      "on\"{\202\323\344\223\002N\"I/mdb/sqlserver/v1/clusters/{" +
      "cluster_id}/users/{user_name}:grantPermi" +
      "ssion:\001*\262\322*#\n\033GrantUserPermissionMetadat" +
      "a\022\004User\022\360\001\n\020RevokePermission\022:.yandex.cl" +
      "oud.mdb.sqlserver.v1.RevokeUserPermissio" +
      "nRequest\032!.yandex.cloud.operation.Operat" +
      "ion\"}\202\323\344\223\002O\"J/mdb/sqlserver/v1/clusters/" +
      "{cluster_id}/users/{user_name}:revokePer" +
      "mission:\001*\262\322*$\n\034RevokeUserPermissionMeta" +
      "data\022\004UserBv\n!yandex.cloud.api.mdb.sqlse" +
      "rver.v1B\004PSUSZKgithub.com/yandex-cloud/g" +
      "o-genproto/yandex/cloud/mdb/sqlserver/v1" +
      ";sqlserverb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.api.AnnotationsProto.getDescriptor(),
          com.google.protobuf.FieldMaskProto.getDescriptor(),
          yandex.cloud.api.OperationOuterClass.getDescriptor(),
          yandex.cloud.api.operation.OperationOuterClass.getDescriptor(),
          yandex.cloud.api.Validation.getDescriptor(),
          yandex.cloud.api.mdb.sqlserver.v1.PSU.getDescriptor(),
        });
    internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_GetUserRequest_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersRequest_descriptor,
        new java.lang.String[] { "ClusterId", "PageSize", "PageToken", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_ListUsersResponse_descriptor,
        new java.lang.String[] { "Users", "NextPageToken", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserRequest_descriptor,
        new java.lang.String[] { "ClusterId", "UserSpec", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_CreateUserMetadata_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserRequest_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", "UpdateMask", "Password", "Permissions", "ServerRoles", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_UpdateUserMetadata_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserRequest_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_DeleteUserMetadata_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionRequest_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", "Permission", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_GrantUserPermissionMetadata_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionRequest_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", "Permission", });
    internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_mdb_sqlserver_v1_RevokeUserPermissionMetadata_descriptor,
        new java.lang.String[] { "ClusterId", "UserName", });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(com.google.api.AnnotationsProto.http);
    registry.add(yandex.cloud.api.OperationOuterClass.operation);
    registry.add(yandex.cloud.api.Validation.length);
    registry.add(yandex.cloud.api.Validation.pattern);
    registry.add(yandex.cloud.api.Validation.required);
    registry.add(yandex.cloud.api.Validation.value);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.api.AnnotationsProto.getDescriptor();
    com.google.protobuf.FieldMaskProto.getDescriptor();
    yandex.cloud.api.OperationOuterClass.getDescriptor();
    yandex.cloud.api.operation.OperationOuterClass.getDescriptor();
    yandex.cloud.api.Validation.getDescriptor();
    yandex.cloud.api.mdb.sqlserver.v1.PSU.getDescriptor();
  }
  // @@protoc_insertion_point(outer_class_scope)
}
                                                                                                 © 2015 - 2025 Weber Informatics LLC | Privacy Policy