yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass Maven / Gradle / Ivy
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: yandex/cloud/dataproc/v1/cluster_service.proto
package yandex.cloud.api.dataproc.v1;
public final class ClusterServiceOuterClass {
  private ClusterServiceOuterClass() {}
  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 GetClusterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.GetClusterRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the Data Proc cluster.
     * To get a cluster ID make 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 Data Proc cluster.
     * To get a cluster ID make 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();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.GetClusterRequest}
   */
  public static final class GetClusterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.GetClusterRequest)
      GetClusterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetClusterRequest.newBuilder() to construct.
    private GetClusterRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private GetClusterRequest() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GetClusterRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GetClusterRequest(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the Data Proc cluster.
     * To get a cluster ID make 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 Data Proc cluster.
     * To get a cluster ID make 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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest 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.dataproc.v1.GetClusterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.GetClusterRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the Data Proc cluster.
       * To get a cluster ID make 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 Data Proc cluster.
       * To get a cluster ID make 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 Data Proc cluster.
       * To get a cluster ID make 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 Data Proc cluster.
       * To get a cluster ID make 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 Data Proc cluster.
       * To get a cluster ID make 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;
      }
      @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.dataproc.v1.GetClusterRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.GetClusterRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public GetClusterRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GetClusterRequest(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.dataproc.v1.ClusterServiceOuterClass.GetClusterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListClustersRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListClustersRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the folder to list clusters in.
     * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The folderId.
     */
    java.lang.String getFolderId();
    /**
     * 
     * ID of the folder to list clusters in.
     * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for folderId.
     */
    com.google.protobuf.ByteString
        getFolderIdBytes();
    /**
     * 
     * The maximum number of results per page to return. If the number of available
     * results is larger than [page_size], the service returns a [ListClustersResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     * Default value: 100.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "<=1000"];
     * @return The pageSize.
     */
    long getPageSize();
    /**
     * 
     * Page token. To get the next page of results, set `page_token` to the
     * [ListClustersResponse.next_page_token] returned by a 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
     * [ListClustersResponse.next_page_token] returned by a previous list request.
     * 
     *
     * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
     * @return The bytes for pageToken.
     */
    com.google.protobuf.ByteString
        getPageTokenBytes();
    /**
     * 
     * A filter expression that filters clusters listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-cluster`.
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The filter.
     */
    java.lang.String getFilter();
    /**
     * 
     * A filter expression that filters clusters listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-cluster`.
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The bytes for filter.
     */
    com.google.protobuf.ByteString
        getFilterBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.ListClustersRequest}
   */
  public static final class ListClustersRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListClustersRequest)
      ListClustersRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListClustersRequest.newBuilder() to construct.
    private ListClustersRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListClustersRequest() {
      folderId_ = "";
      pageToken_ = "";
      filter_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListClustersRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListClustersRequest(
        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();
              folderId_ = s;
              break;
            }
            case 16: {
              pageSize_ = input.readInt64();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();
              pageToken_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              filter_ = 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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest.Builder.class);
    }
    public static final int FOLDER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object folderId_;
    /**
     * 
     * ID of the folder to list clusters in.
     * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The folderId.
     */
    @java.lang.Override
    public java.lang.String getFolderId() {
      java.lang.Object ref = folderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        folderId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the folder to list clusters in.
     * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for folderId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFolderIdBytes() {
      java.lang.Object ref = folderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        folderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int 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 [ListClustersResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     * Default value: 100.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "<=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
     * [ListClustersResponse.next_page_token] returned by a 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
     * [ListClustersResponse.next_page_token] returned by a 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;
      }
    }
    public static final int FILTER_FIELD_NUMBER = 4;
    private volatile java.lang.Object filter_;
    /**
     * 
     * A filter expression that filters clusters listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-cluster`.
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The filter.
     */
    @java.lang.Override
    public java.lang.String getFilter() {
      java.lang.Object ref = filter_;
      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();
        filter_ = s;
        return s;
      }
    }
    /**
     * 
     * A filter expression that filters clusters listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-cluster`.
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The bytes for filter.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFilterBytes() {
      java.lang.Object ref = filter_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        filter_ = 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(folderId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, folderId_);
      }
      if (pageSize_ != 0L) {
        output.writeInt64(2, pageSize_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, pageToken_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, filter_);
      }
      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(folderId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, folderId_);
      }
      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_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, filter_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest) obj;
      if (!getFolderId()
          .equals(other.getFolderId())) return false;
      if (getPageSize()
          != other.getPageSize()) return false;
      if (!getPageToken()
          .equals(other.getPageToken())) return false;
      if (!getFilter()
          .equals(other.getFilter())) 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) + FOLDER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getFolderId().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 = (37 * hash) + FILTER_FIELD_NUMBER;
      hash = (53 * hash) + getFilter().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest 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.dataproc.v1.ListClustersRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListClustersRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest.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();
        folderId_ = "";
        pageSize_ = 0L;
        pageToken_ = "";
        filter_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest(this);
        result.folderId_ = folderId_;
        result.pageSize_ = pageSize_;
        result.pageToken_ = pageToken_;
        result.filter_ = filter_;
        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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest.getDefaultInstance()) return this;
        if (!other.getFolderId().isEmpty()) {
          folderId_ = other.folderId_;
          onChanged();
        }
        if (other.getPageSize() != 0L) {
          setPageSize(other.getPageSize());
        }
        if (!other.getPageToken().isEmpty()) {
          pageToken_ = other.pageToken_;
          onChanged();
        }
        if (!other.getFilter().isEmpty()) {
          filter_ = other.filter_;
          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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object folderId_ = "";
      /**
       * 
       * ID of the folder to list clusters in.
       * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The folderId.
       */
      public java.lang.String getFolderId() {
        java.lang.Object ref = folderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          folderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the folder to list clusters in.
       * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for folderId.
       */
      public com.google.protobuf.ByteString
          getFolderIdBytes() {
        java.lang.Object ref = folderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          folderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the folder to list clusters in.
       * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The folderId to set.
       * @return This builder for chaining.
       */
      public Builder setFolderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        folderId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the folder to list clusters in.
       * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearFolderId() {
        
        folderId_ = getDefaultInstance().getFolderId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the folder to list clusters in.
       * To get the folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for folderId to set.
       * @return This builder for chaining.
       */
      public Builder setFolderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        folderId_ = value;
        onChanged();
        return this;
      }
      private 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 [ListClustersResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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 [ListClustersResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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 [ListClustersResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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
       * [ListClustersResponse.next_page_token] returned by a 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
       * [ListClustersResponse.next_page_token] returned by a 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
       * [ListClustersResponse.next_page_token] returned by a 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
       * [ListClustersResponse.next_page_token] returned by a 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
       * [ListClustersResponse.next_page_token] returned by a 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;
      }
      private java.lang.Object filter_ = "";
      /**
       * 
       * A filter expression that filters clusters listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-cluster`.
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @return The filter.
       */
      public java.lang.String getFilter() {
        java.lang.Object ref = filter_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          filter_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * A filter expression that filters clusters listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-cluster`.
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @return The bytes for filter.
       */
      public com.google.protobuf.ByteString
          getFilterBytes() {
        java.lang.Object ref = filter_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filter_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * A filter expression that filters clusters listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-cluster`.
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @param value The filter to set.
       * @return This builder for chaining.
       */
      public Builder setFilter(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        filter_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * A filter expression that filters clusters listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-cluster`.
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @return This builder for chaining.
       */
      public Builder clearFilter() {
        
        filter_ = getDefaultInstance().getFilter();
        onChanged();
        return this;
      }
      /**
       * 
       * A filter expression that filters clusters listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-cluster`.
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @param value The bytes for filter to set.
       * @return This builder for chaining.
       */
      public Builder setFilterBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        filter_ = 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.dataproc.v1.ListClustersRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListClustersRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListClustersRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListClustersRequest(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.dataproc.v1.ClusterServiceOuterClass.ListClustersRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListClustersResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListClustersResponse)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    java.util.List 
        getClustersList();
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster getClusters(int index);
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    int getClustersCount();
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    java.util.List extends yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder> 
        getClustersOrBuilderList();
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder getClustersOrBuilder(
        int index);
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
     * for the [ListClustersRequest.page_token] parameter in the next list request.
     * Each subsequent page will have its own `next_page_token` to continue paging through the results.
     * 
     *
     * string next_page_token = 2;
     * @return The nextPageToken.
     */
    java.lang.String getNextPageToken();
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
     * for the [ListClustersRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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.dataproc.v1.ListClustersResponse}
   */
  public static final class ListClustersResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListClustersResponse)
      ListClustersResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListClustersResponse.newBuilder() to construct.
    private ListClustersResponse(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListClustersResponse() {
      clusters_ = java.util.Collections.emptyList();
      nextPageToken_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListClustersResponse();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListClustersResponse(
        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)) {
                clusters_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              clusters_.add(
                  input.readMessage(yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.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)) {
          clusters_ = java.util.Collections.unmodifiableList(clusters_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse.Builder.class);
    }
    public static final int CLUSTERS_FIELD_NUMBER = 1;
    private java.util.List clusters_;
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    @java.lang.Override
    public java.util.List getClustersList() {
      return clusters_;
    }
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder> 
        getClustersOrBuilderList() {
      return clusters_;
    }
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    @java.lang.Override
    public int getClustersCount() {
      return clusters_.size();
    }
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster getClusters(int index) {
      return clusters_.get(index);
    }
    /**
     * 
     * List of clusters in the specified folder.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder getClustersOrBuilder(
        int index) {
      return clusters_.get(index);
    }
    public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2;
    private volatile java.lang.Object nextPageToken_;
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
     * for the [ListClustersRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
     * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
     * for the [ListClustersRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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 < clusters_.size(); i++) {
        output.writeMessage(1, clusters_.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 < clusters_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, clusters_.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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse) obj;
      if (!getClustersList()
          .equals(other.getClustersList())) 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 (getClustersCount() > 0) {
        hash = (37 * hash) + CLUSTERS_FIELD_NUMBER;
        hash = (53 * hash) + getClustersList().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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse 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.dataproc.v1.ListClustersResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListClustersResponse)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getClustersFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (clustersBuilder_ == null) {
          clusters_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          clustersBuilder_.clear();
        }
        nextPageToken_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse(this);
        int from_bitField0_ = bitField0_;
        if (clustersBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            clusters_ = java.util.Collections.unmodifiableList(clusters_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.clusters_ = clusters_;
        } else {
          result.clusters_ = clustersBuilder_.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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse.getDefaultInstance()) return this;
        if (clustersBuilder_ == null) {
          if (!other.clusters_.isEmpty()) {
            if (clusters_.isEmpty()) {
              clusters_ = other.clusters_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureClustersIsMutable();
              clusters_.addAll(other.clusters_);
            }
            onChanged();
          }
        } else {
          if (!other.clusters_.isEmpty()) {
            if (clustersBuilder_.isEmpty()) {
              clustersBuilder_.dispose();
              clustersBuilder_ = null;
              clusters_ = other.clusters_;
              bitField0_ = (bitField0_ & ~0x00000001);
              clustersBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getClustersFieldBuilder() : null;
            } else {
              clustersBuilder_.addAllMessages(other.clusters_);
            }
          }
        }
        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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List clusters_ =
        java.util.Collections.emptyList();
      private void ensureClustersIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          clusters_ = new java.util.ArrayList(clusters_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder> clustersBuilder_;
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public java.util.List getClustersList() {
        if (clustersBuilder_ == null) {
          return java.util.Collections.unmodifiableList(clusters_);
        } else {
          return clustersBuilder_.getMessageList();
        }
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public int getClustersCount() {
        if (clustersBuilder_ == null) {
          return clusters_.size();
        } else {
          return clustersBuilder_.getCount();
        }
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster getClusters(int index) {
        if (clustersBuilder_ == null) {
          return clusters_.get(index);
        } else {
          return clustersBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder setClusters(
          int index, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster value) {
        if (clustersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClustersIsMutable();
          clusters_.set(index, value);
          onChanged();
        } else {
          clustersBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder setClusters(
          int index, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder builderForValue) {
        if (clustersBuilder_ == null) {
          ensureClustersIsMutable();
          clusters_.set(index, builderForValue.build());
          onChanged();
        } else {
          clustersBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder addClusters(yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster value) {
        if (clustersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClustersIsMutable();
          clusters_.add(value);
          onChanged();
        } else {
          clustersBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder addClusters(
          int index, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster value) {
        if (clustersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClustersIsMutable();
          clusters_.add(index, value);
          onChanged();
        } else {
          clustersBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder addClusters(
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder builderForValue) {
        if (clustersBuilder_ == null) {
          ensureClustersIsMutable();
          clusters_.add(builderForValue.build());
          onChanged();
        } else {
          clustersBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder addClusters(
          int index, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder builderForValue) {
        if (clustersBuilder_ == null) {
          ensureClustersIsMutable();
          clusters_.add(index, builderForValue.build());
          onChanged();
        } else {
          clustersBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder addAllClusters(
          java.lang.Iterable extends yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster> values) {
        if (clustersBuilder_ == null) {
          ensureClustersIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, clusters_);
          onChanged();
        } else {
          clustersBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder clearClusters() {
        if (clustersBuilder_ == null) {
          clusters_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          clustersBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public Builder removeClusters(int index) {
        if (clustersBuilder_ == null) {
          ensureClustersIsMutable();
          clusters_.remove(index);
          onChanged();
        } else {
          clustersBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder getClustersBuilder(
          int index) {
        return getClustersFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder getClustersOrBuilder(
          int index) {
        if (clustersBuilder_ == null) {
          return clusters_.get(index);  } else {
          return clustersBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder> 
           getClustersOrBuilderList() {
        if (clustersBuilder_ != null) {
          return clustersBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(clusters_);
        }
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder addClustersBuilder() {
        return getClustersFieldBuilder().addBuilder(
            yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.getDefaultInstance());
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder addClustersBuilder(
          int index) {
        return getClustersFieldBuilder().addBuilder(
            index, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.getDefaultInstance());
      }
      /**
       * 
       * List of clusters in the specified folder.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Cluster clusters = 1;
       */
      public java.util.List 
           getClustersBuilderList() {
        return getClustersFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder> 
          getClustersFieldBuilder() {
        if (clustersBuilder_ == null) {
          clustersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster, yandex.cloud.api.dataproc.v1.ClusterOuterClass.Cluster.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.ClusterOrBuilder>(
                  clusters_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          clusters_ = null;
        }
        return clustersBuilder_;
      }
      private java.lang.Object nextPageToken_ = "";
      /**
       * 
       * Token for getting the next page of the list. If the number of results is greater than
       * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
       * for the [ListClustersRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
       * for the [ListClustersRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
       * for the [ListClustersRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
       * for the [ListClustersRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClustersRequest.page_size], use `next_page_token` as the value
       * for the [ListClustersRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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.dataproc.v1.ListClustersResponse)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListClustersResponse)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListClustersResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListClustersResponse(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.dataproc.v1.ClusterServiceOuterClass.ListClustersResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface CreateSubclusterConfigSpecOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    java.lang.String getName();
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
    /**
     * 
     * Role of the subcluster in the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
     * @return The enum numeric value on the wire for role.
     */
    int getRoleValue();
    /**
     * 
     * Role of the subcluster in the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
     * @return The role.
     */
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role getRole();
    /**
     * 
     * Resource configuration for hosts in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
     * @return Whether the resources field is set.
     */
    boolean hasResources();
    /**
     * 
     * Resource configuration for hosts in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
     * @return The resources.
     */
    yandex.cloud.api.dataproc.v1.Common.Resources getResources();
    /**
     * 
     * Resource configuration for hosts in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
     */
    yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder getResourcesOrBuilder();
    /**
     * 
     * ID of the VPC subnet used for hosts in the subcluster.
     * 
     *
     * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The subnetId.
     */
    java.lang.String getSubnetId();
    /**
     * 
     * ID of the VPC subnet used for hosts in the subcluster.
     * 
     *
     * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for subnetId.
     */
    com.google.protobuf.ByteString
        getSubnetIdBytes();
    /**
     * 
     * Number of hosts in the subcluster.
     * 
     *
     * int64 hosts_count = 5 [(.yandex.cloud.required) = true, (.yandex.cloud.value) = ">=1"];
     * @return The hostsCount.
     */
    long getHostsCount();
    /**
     * 
     * Assign public ip addresses for all hosts in subcluter.
     * 
     *
     * bool assign_public_ip = 6;
     * @return The assignPublicIp.
     */
    boolean getAssignPublicIp();
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
     * @return Whether the autoscalingConfig field is set.
     */
    boolean hasAutoscalingConfig();
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
     * @return The autoscalingConfig.
     */
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig getAutoscalingConfig();
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
     */
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder getAutoscalingConfigOrBuilder();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec}
   */
  public static final class CreateSubclusterConfigSpec extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec)
      CreateSubclusterConfigSpecOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateSubclusterConfigSpec.newBuilder() to construct.
    private CreateSubclusterConfigSpec(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private CreateSubclusterConfigSpec() {
      name_ = "";
      role_ = 0;
      subnetId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateSubclusterConfigSpec();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateSubclusterConfigSpec(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();
              name_ = s;
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              role_ = rawValue;
              break;
            }
            case 26: {
              yandex.cloud.api.dataproc.v1.Common.Resources.Builder subBuilder = null;
              if (resources_ != null) {
                subBuilder = resources_.toBuilder();
              }
              resources_ = input.readMessage(yandex.cloud.api.dataproc.v1.Common.Resources.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(resources_);
                resources_ = subBuilder.buildPartial();
              }
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              subnetId_ = s;
              break;
            }
            case 40: {
              hostsCount_ = input.readInt64();
              break;
            }
            case 48: {
              assignPublicIp_ = input.readBool();
              break;
            }
            case 58: {
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder subBuilder = null;
              if (autoscalingConfig_ != null) {
                subBuilder = autoscalingConfig_.toBuilder();
              }
              autoscalingConfig_ = input.readMessage(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(autoscalingConfig_);
                autoscalingConfig_ = 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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder.class);
    }
    public static final int NAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object name_;
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int ROLE_FIELD_NUMBER = 2;
    private int role_;
    /**
     * 
     * Role of the subcluster in the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
     * @return The enum numeric value on the wire for role.
     */
    @java.lang.Override public int getRoleValue() {
      return role_;
    }
    /**
     * 
     * Role of the subcluster in the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
     * @return The role.
     */
    @java.lang.Override public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role getRole() {
      @SuppressWarnings("deprecation")
      yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role result = yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role.valueOf(role_);
      return result == null ? yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role.UNRECOGNIZED : result;
    }
    public static final int RESOURCES_FIELD_NUMBER = 3;
    private yandex.cloud.api.dataproc.v1.Common.Resources resources_;
    /**
     * 
     * Resource configuration for hosts in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
     * @return Whether the resources field is set.
     */
    @java.lang.Override
    public boolean hasResources() {
      return resources_ != null;
    }
    /**
     * 
     * Resource configuration for hosts in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
     * @return The resources.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.Common.Resources getResources() {
      return resources_ == null ? yandex.cloud.api.dataproc.v1.Common.Resources.getDefaultInstance() : resources_;
    }
    /**
     * 
     * Resource configuration for hosts in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder getResourcesOrBuilder() {
      return getResources();
    }
    public static final int SUBNET_ID_FIELD_NUMBER = 4;
    private volatile java.lang.Object subnetId_;
    /**
     * 
     * ID of the VPC subnet used for hosts in the subcluster.
     * 
     *
     * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The subnetId.
     */
    @java.lang.Override
    public java.lang.String getSubnetId() {
      java.lang.Object ref = subnetId_;
      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();
        subnetId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the VPC subnet used for hosts in the subcluster.
     * 
     *
     * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for subnetId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSubnetIdBytes() {
      java.lang.Object ref = subnetId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        subnetId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int HOSTS_COUNT_FIELD_NUMBER = 5;
    private long hostsCount_;
    /**
     * 
     * Number of hosts in the subcluster.
     * 
     *
     * int64 hosts_count = 5 [(.yandex.cloud.required) = true, (.yandex.cloud.value) = ">=1"];
     * @return The hostsCount.
     */
    @java.lang.Override
    public long getHostsCount() {
      return hostsCount_;
    }
    public static final int ASSIGN_PUBLIC_IP_FIELD_NUMBER = 6;
    private boolean assignPublicIp_;
    /**
     * 
     * Assign public ip addresses for all hosts in subcluter.
     * 
     *
     * bool assign_public_ip = 6;
     * @return The assignPublicIp.
     */
    @java.lang.Override
    public boolean getAssignPublicIp() {
      return assignPublicIp_;
    }
    public static final int AUTOSCALING_CONFIG_FIELD_NUMBER = 7;
    private yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig autoscalingConfig_;
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
     * @return Whether the autoscalingConfig field is set.
     */
    @java.lang.Override
    public boolean hasAutoscalingConfig() {
      return autoscalingConfig_ != null;
    }
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
     * @return The autoscalingConfig.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig getAutoscalingConfig() {
      return autoscalingConfig_ == null ? yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.getDefaultInstance() : autoscalingConfig_;
    }
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder getAutoscalingConfigOrBuilder() {
      return getAutoscalingConfig();
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
      }
      if (role_ != yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role.ROLE_UNSPECIFIED.getNumber()) {
        output.writeEnum(2, role_);
      }
      if (resources_ != null) {
        output.writeMessage(3, getResources());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subnetId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, subnetId_);
      }
      if (hostsCount_ != 0L) {
        output.writeInt64(5, hostsCount_);
      }
      if (assignPublicIp_ != false) {
        output.writeBool(6, assignPublicIp_);
      }
      if (autoscalingConfig_ != null) {
        output.writeMessage(7, getAutoscalingConfig());
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
      }
      if (role_ != yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role.ROLE_UNSPECIFIED.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, role_);
      }
      if (resources_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getResources());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subnetId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, subnetId_);
      }
      if (hostsCount_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, hostsCount_);
      }
      if (assignPublicIp_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, assignPublicIp_);
      }
      if (autoscalingConfig_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getAutoscalingConfig());
      }
      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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec) obj;
      if (!getName()
          .equals(other.getName())) return false;
      if (role_ != other.role_) return false;
      if (hasResources() != other.hasResources()) return false;
      if (hasResources()) {
        if (!getResources()
            .equals(other.getResources())) return false;
      }
      if (!getSubnetId()
          .equals(other.getSubnetId())) return false;
      if (getHostsCount()
          != other.getHostsCount()) return false;
      if (getAssignPublicIp()
          != other.getAssignPublicIp()) return false;
      if (hasAutoscalingConfig() != other.hasAutoscalingConfig()) return false;
      if (hasAutoscalingConfig()) {
        if (!getAutoscalingConfig()
            .equals(other.getAutoscalingConfig())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + ROLE_FIELD_NUMBER;
      hash = (53 * hash) + role_;
      if (hasResources()) {
        hash = (37 * hash) + RESOURCES_FIELD_NUMBER;
        hash = (53 * hash) + getResources().hashCode();
      }
      hash = (37 * hash) + SUBNET_ID_FIELD_NUMBER;
      hash = (53 * hash) + getSubnetId().hashCode();
      hash = (37 * hash) + HOSTS_COUNT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getHostsCount());
      hash = (37 * hash) + ASSIGN_PUBLIC_IP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getAssignPublicIp());
      if (hasAutoscalingConfig()) {
        hash = (37 * hash) + AUTOSCALING_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getAutoscalingConfig().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec 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.dataproc.v1.CreateSubclusterConfigSpec}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        name_ = "";
        role_ = 0;
        if (resourcesBuilder_ == null) {
          resources_ = null;
        } else {
          resources_ = null;
          resourcesBuilder_ = null;
        }
        subnetId_ = "";
        hostsCount_ = 0L;
        assignPublicIp_ = false;
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfig_ = null;
        } else {
          autoscalingConfig_ = null;
          autoscalingConfigBuilder_ = null;
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec(this);
        result.name_ = name_;
        result.role_ = role_;
        if (resourcesBuilder_ == null) {
          result.resources_ = resources_;
        } else {
          result.resources_ = resourcesBuilder_.build();
        }
        result.subnetId_ = subnetId_;
        result.hostsCount_ = hostsCount_;
        result.assignPublicIp_ = assignPublicIp_;
        if (autoscalingConfigBuilder_ == null) {
          result.autoscalingConfig_ = autoscalingConfig_;
        } else {
          result.autoscalingConfig_ = autoscalingConfigBuilder_.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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.getDefaultInstance()) return this;
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.role_ != 0) {
          setRoleValue(other.getRoleValue());
        }
        if (other.hasResources()) {
          mergeResources(other.getResources());
        }
        if (!other.getSubnetId().isEmpty()) {
          subnetId_ = other.subnetId_;
          onChanged();
        }
        if (other.getHostsCount() != 0L) {
          setHostsCount(other.getHostsCount());
        }
        if (other.getAssignPublicIp() != false) {
          setAssignPublicIp(other.getAssignPublicIp());
        }
        if (other.hasAutoscalingConfig()) {
          mergeAutoscalingConfig(other.getAutoscalingConfig());
        }
        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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object name_ = "";
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 1 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      private int role_ = 0;
      /**
       * 
       * Role of the subcluster in the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
       * @return The enum numeric value on the wire for role.
       */
      @java.lang.Override public int getRoleValue() {
        return role_;
      }
      /**
       * 
       * Role of the subcluster in the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
       * @param value The enum numeric value on the wire for role to set.
       * @return This builder for chaining.
       */
      public Builder setRoleValue(int value) {
        
        role_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Role of the subcluster in the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
       * @return The role.
       */
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role getRole() {
        @SuppressWarnings("deprecation")
        yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role result = yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role.valueOf(role_);
        return result == null ? yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role.UNRECOGNIZED : result;
      }
      /**
       * 
       * Role of the subcluster in the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
       * @param value The role to set.
       * @return This builder for chaining.
       */
      public Builder setRole(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Role value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        role_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * 
       * Role of the subcluster in the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Role role = 2 [(.yandex.cloud.required) = true];
       * @return This builder for chaining.
       */
      public Builder clearRole() {
        
        role_ = 0;
        onChanged();
        return this;
      }
      private yandex.cloud.api.dataproc.v1.Common.Resources resources_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.Common.Resources, yandex.cloud.api.dataproc.v1.Common.Resources.Builder, yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder> resourcesBuilder_;
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       * @return Whether the resources field is set.
       */
      public boolean hasResources() {
        return resourcesBuilder_ != null || resources_ != null;
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       * @return The resources.
       */
      public yandex.cloud.api.dataproc.v1.Common.Resources getResources() {
        if (resourcesBuilder_ == null) {
          return resources_ == null ? yandex.cloud.api.dataproc.v1.Common.Resources.getDefaultInstance() : resources_;
        } else {
          return resourcesBuilder_.getMessage();
        }
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       */
      public Builder setResources(yandex.cloud.api.dataproc.v1.Common.Resources value) {
        if (resourcesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          resources_ = value;
          onChanged();
        } else {
          resourcesBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       */
      public Builder setResources(
          yandex.cloud.api.dataproc.v1.Common.Resources.Builder builderForValue) {
        if (resourcesBuilder_ == null) {
          resources_ = builderForValue.build();
          onChanged();
        } else {
          resourcesBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       */
      public Builder mergeResources(yandex.cloud.api.dataproc.v1.Common.Resources value) {
        if (resourcesBuilder_ == null) {
          if (resources_ != null) {
            resources_ =
              yandex.cloud.api.dataproc.v1.Common.Resources.newBuilder(resources_).mergeFrom(value).buildPartial();
          } else {
            resources_ = value;
          }
          onChanged();
        } else {
          resourcesBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       */
      public Builder clearResources() {
        if (resourcesBuilder_ == null) {
          resources_ = null;
          onChanged();
        } else {
          resources_ = null;
          resourcesBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.dataproc.v1.Common.Resources.Builder getResourcesBuilder() {
        
        onChanged();
        return getResourcesFieldBuilder().getBuilder();
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder getResourcesOrBuilder() {
        if (resourcesBuilder_ != null) {
          return resourcesBuilder_.getMessageOrBuilder();
        } else {
          return resources_ == null ?
              yandex.cloud.api.dataproc.v1.Common.Resources.getDefaultInstance() : resources_;
        }
      }
      /**
       * 
       * Resource configuration for hosts in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3 [(.yandex.cloud.required) = true];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.Common.Resources, yandex.cloud.api.dataproc.v1.Common.Resources.Builder, yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder> 
          getResourcesFieldBuilder() {
        if (resourcesBuilder_ == null) {
          resourcesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.Common.Resources, yandex.cloud.api.dataproc.v1.Common.Resources.Builder, yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder>(
                  getResources(),
                  getParentForChildren(),
                  isClean());
          resources_ = null;
        }
        return resourcesBuilder_;
      }
      private java.lang.Object subnetId_ = "";
      /**
       * 
       * ID of the VPC subnet used for hosts in the subcluster.
       * 
       *
       * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The subnetId.
       */
      public java.lang.String getSubnetId() {
        java.lang.Object ref = subnetId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          subnetId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the VPC subnet used for hosts in the subcluster.
       * 
       *
       * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for subnetId.
       */
      public com.google.protobuf.ByteString
          getSubnetIdBytes() {
        java.lang.Object ref = subnetId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          subnetId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the VPC subnet used for hosts in the subcluster.
       * 
       *
       * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The subnetId to set.
       * @return This builder for chaining.
       */
      public Builder setSubnetId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        subnetId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the VPC subnet used for hosts in the subcluster.
       * 
       *
       * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearSubnetId() {
        
        subnetId_ = getDefaultInstance().getSubnetId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the VPC subnet used for hosts in the subcluster.
       * 
       *
       * string subnet_id = 4 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for subnetId to set.
       * @return This builder for chaining.
       */
      public Builder setSubnetIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        subnetId_ = value;
        onChanged();
        return this;
      }
      private long hostsCount_ ;
      /**
       * 
       * Number of hosts in the subcluster.
       * 
       *
       * int64 hosts_count = 5 [(.yandex.cloud.required) = true, (.yandex.cloud.value) = ">=1"];
       * @return The hostsCount.
       */
      @java.lang.Override
      public long getHostsCount() {
        return hostsCount_;
      }
      /**
       * 
       * Number of hosts in the subcluster.
       * 
       *
       * int64 hosts_count = 5 [(.yandex.cloud.required) = true, (.yandex.cloud.value) = ">=1"];
       * @param value The hostsCount to set.
       * @return This builder for chaining.
       */
      public Builder setHostsCount(long value) {
        
        hostsCount_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Number of hosts in the subcluster.
       * 
       *
       * int64 hosts_count = 5 [(.yandex.cloud.required) = true, (.yandex.cloud.value) = ">=1"];
       * @return This builder for chaining.
       */
      public Builder clearHostsCount() {
        
        hostsCount_ = 0L;
        onChanged();
        return this;
      }
      private boolean assignPublicIp_ ;
      /**
       * 
       * Assign public ip addresses for all hosts in subcluter.
       * 
       *
       * bool assign_public_ip = 6;
       * @return The assignPublicIp.
       */
      @java.lang.Override
      public boolean getAssignPublicIp() {
        return assignPublicIp_;
      }
      /**
       * 
       * Assign public ip addresses for all hosts in subcluter.
       * 
       *
       * bool assign_public_ip = 6;
       * @param value The assignPublicIp to set.
       * @return This builder for chaining.
       */
      public Builder setAssignPublicIp(boolean value) {
        
        assignPublicIp_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Assign public ip addresses for all hosts in subcluter.
       * 
       *
       * bool assign_public_ip = 6;
       * @return This builder for chaining.
       */
      public Builder clearAssignPublicIp() {
        
        assignPublicIp_ = false;
        onChanged();
        return this;
      }
      private yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig autoscalingConfig_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder> autoscalingConfigBuilder_;
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       * @return Whether the autoscalingConfig field is set.
       */
      public boolean hasAutoscalingConfig() {
        return autoscalingConfigBuilder_ != null || autoscalingConfig_ != null;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       * @return The autoscalingConfig.
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig getAutoscalingConfig() {
        if (autoscalingConfigBuilder_ == null) {
          return autoscalingConfig_ == null ? yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.getDefaultInstance() : autoscalingConfig_;
        } else {
          return autoscalingConfigBuilder_.getMessage();
        }
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       */
      public Builder setAutoscalingConfig(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig value) {
        if (autoscalingConfigBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          autoscalingConfig_ = value;
          onChanged();
        } else {
          autoscalingConfigBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       */
      public Builder setAutoscalingConfig(
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder builderForValue) {
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfig_ = builderForValue.build();
          onChanged();
        } else {
          autoscalingConfigBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       */
      public Builder mergeAutoscalingConfig(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig value) {
        if (autoscalingConfigBuilder_ == null) {
          if (autoscalingConfig_ != null) {
            autoscalingConfig_ =
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.newBuilder(autoscalingConfig_).mergeFrom(value).buildPartial();
          } else {
            autoscalingConfig_ = value;
          }
          onChanged();
        } else {
          autoscalingConfigBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       */
      public Builder clearAutoscalingConfig() {
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfig_ = null;
          onChanged();
        } else {
          autoscalingConfig_ = null;
          autoscalingConfigBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder getAutoscalingConfigBuilder() {
        
        onChanged();
        return getAutoscalingConfigFieldBuilder().getBuilder();
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder getAutoscalingConfigOrBuilder() {
        if (autoscalingConfigBuilder_ != null) {
          return autoscalingConfigBuilder_.getMessageOrBuilder();
        } else {
          return autoscalingConfig_ == null ?
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.getDefaultInstance() : autoscalingConfig_;
        }
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 7;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder> 
          getAutoscalingConfigFieldBuilder() {
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder>(
                  getAutoscalingConfig(),
                  getParentForChildren(),
                  isClean());
          autoscalingConfig_ = null;
        }
        return autoscalingConfigBuilder_;
      }
      @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.dataproc.v1.CreateSubclusterConfigSpec)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CreateSubclusterConfigSpec parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateSubclusterConfigSpec(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.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface UpdateSubclusterConfigSpecOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the subcluster to update.
     * To get the subcluster ID make a [SubclusterService.List] request.
     * 
     *
     * string id = 1;
     * @return The id.
     */
    java.lang.String getId();
    /**
     * 
     * ID of the subcluster to update.
     * To get the subcluster ID make a [SubclusterService.List] request.
     * 
     *
     * string id = 1;
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    java.lang.String getName();
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
    /**
     * 
     * Resource configuration for each host in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3;
     * @return Whether the resources field is set.
     */
    boolean hasResources();
    /**
     * 
     * Resource configuration for each host in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3;
     * @return The resources.
     */
    yandex.cloud.api.dataproc.v1.Common.Resources getResources();
    /**
     * 
     * Resource configuration for each host in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3;
     */
    yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder getResourcesOrBuilder();
    /**
     * 
     * Number of hosts in the subcluster.
     * 
     *
     * int64 hosts_count = 4 [(.yandex.cloud.value) = ">=1"];
     * @return The hostsCount.
     */
    long getHostsCount();
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
     * @return Whether the autoscalingConfig field is set.
     */
    boolean hasAutoscalingConfig();
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
     * @return The autoscalingConfig.
     */
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig getAutoscalingConfig();
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
     */
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder getAutoscalingConfigOrBuilder();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec}
   */
  public static final class UpdateSubclusterConfigSpec extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec)
      UpdateSubclusterConfigSpecOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UpdateSubclusterConfigSpec.newBuilder() to construct.
    private UpdateSubclusterConfigSpec(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private UpdateSubclusterConfigSpec() {
      id_ = "";
      name_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UpdateSubclusterConfigSpec();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UpdateSubclusterConfigSpec(
        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();
              id_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              name_ = s;
              break;
            }
            case 26: {
              yandex.cloud.api.dataproc.v1.Common.Resources.Builder subBuilder = null;
              if (resources_ != null) {
                subBuilder = resources_.toBuilder();
              }
              resources_ = input.readMessage(yandex.cloud.api.dataproc.v1.Common.Resources.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(resources_);
                resources_ = subBuilder.buildPartial();
              }
              break;
            }
            case 32: {
              hostsCount_ = input.readInt64();
              break;
            }
            case 42: {
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder subBuilder = null;
              if (autoscalingConfig_ != null) {
                subBuilder = autoscalingConfig_.toBuilder();
              }
              autoscalingConfig_ = input.readMessage(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(autoscalingConfig_);
                autoscalingConfig_ = 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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder.class);
    }
    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * 
     * ID of the subcluster to update.
     * To get the subcluster ID make a [SubclusterService.List] request.
     * 
     *
     * string id = 1;
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        id_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the subcluster to update.
     * To get the subcluster ID make a [SubclusterService.List] request.
     * 
     *
     * string id = 1;
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object name_;
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the subcluster.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int RESOURCES_FIELD_NUMBER = 3;
    private yandex.cloud.api.dataproc.v1.Common.Resources resources_;
    /**
     * 
     * Resource configuration for each host in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3;
     * @return Whether the resources field is set.
     */
    @java.lang.Override
    public boolean hasResources() {
      return resources_ != null;
    }
    /**
     * 
     * Resource configuration for each host in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3;
     * @return The resources.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.Common.Resources getResources() {
      return resources_ == null ? yandex.cloud.api.dataproc.v1.Common.Resources.getDefaultInstance() : resources_;
    }
    /**
     * 
     * Resource configuration for each host in the subcluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.Resources resources = 3;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder getResourcesOrBuilder() {
      return getResources();
    }
    public static final int HOSTS_COUNT_FIELD_NUMBER = 4;
    private long hostsCount_;
    /**
     * 
     * Number of hosts in the subcluster.
     * 
     *
     * int64 hosts_count = 4 [(.yandex.cloud.value) = ">=1"];
     * @return The hostsCount.
     */
    @java.lang.Override
    public long getHostsCount() {
      return hostsCount_;
    }
    public static final int AUTOSCALING_CONFIG_FIELD_NUMBER = 5;
    private yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig autoscalingConfig_;
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
     * @return Whether the autoscalingConfig field is set.
     */
    @java.lang.Override
    public boolean hasAutoscalingConfig() {
      return autoscalingConfig_ != null;
    }
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
     * @return The autoscalingConfig.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig getAutoscalingConfig() {
      return autoscalingConfig_ == null ? yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.getDefaultInstance() : autoscalingConfig_;
    }
    /**
     * 
     * Configuration for instance group based subclusters
     * 
     *
     * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder getAutoscalingConfigOrBuilder() {
      return getAutoscalingConfig();
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
      }
      if (resources_ != null) {
        output.writeMessage(3, getResources());
      }
      if (hostsCount_ != 0L) {
        output.writeInt64(4, hostsCount_);
      }
      if (autoscalingConfig_ != null) {
        output.writeMessage(5, getAutoscalingConfig());
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
      }
      if (resources_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getResources());
      }
      if (hostsCount_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, hostsCount_);
      }
      if (autoscalingConfig_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getAutoscalingConfig());
      }
      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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec) obj;
      if (!getId()
          .equals(other.getId())) return false;
      if (!getName()
          .equals(other.getName())) return false;
      if (hasResources() != other.hasResources()) return false;
      if (hasResources()) {
        if (!getResources()
            .equals(other.getResources())) return false;
      }
      if (getHostsCount()
          != other.getHostsCount()) return false;
      if (hasAutoscalingConfig() != other.hasAutoscalingConfig()) return false;
      if (hasAutoscalingConfig()) {
        if (!getAutoscalingConfig()
            .equals(other.getAutoscalingConfig())) 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) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      if (hasResources()) {
        hash = (37 * hash) + RESOURCES_FIELD_NUMBER;
        hash = (53 * hash) + getResources().hashCode();
      }
      hash = (37 * hash) + HOSTS_COUNT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getHostsCount());
      if (hasAutoscalingConfig()) {
        hash = (37 * hash) + AUTOSCALING_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getAutoscalingConfig().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec 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.dataproc.v1.UpdateSubclusterConfigSpec}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = "";
        name_ = "";
        if (resourcesBuilder_ == null) {
          resources_ = null;
        } else {
          resources_ = null;
          resourcesBuilder_ = null;
        }
        hostsCount_ = 0L;
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfig_ = null;
        } else {
          autoscalingConfig_ = null;
          autoscalingConfigBuilder_ = null;
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec(this);
        result.id_ = id_;
        result.name_ = name_;
        if (resourcesBuilder_ == null) {
          result.resources_ = resources_;
        } else {
          result.resources_ = resourcesBuilder_.build();
        }
        result.hostsCount_ = hostsCount_;
        if (autoscalingConfigBuilder_ == null) {
          result.autoscalingConfig_ = autoscalingConfig_;
        } else {
          result.autoscalingConfig_ = autoscalingConfigBuilder_.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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.hasResources()) {
          mergeResources(other.getResources());
        }
        if (other.getHostsCount() != 0L) {
          setHostsCount(other.getHostsCount());
        }
        if (other.hasAutoscalingConfig()) {
          mergeAutoscalingConfig(other.getAutoscalingConfig());
        }
        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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object id_ = "";
      /**
       * 
       * ID of the subcluster to update.
       * To get the subcluster ID make a [SubclusterService.List] request.
       * 
       *
       * string id = 1;
       * @return The id.
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the subcluster to update.
       * To get the subcluster ID make a [SubclusterService.List] request.
       * 
       *
       * string id = 1;
       * @return The bytes for id.
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the subcluster to update.
       * To get the subcluster ID make a [SubclusterService.List] request.
       * 
       *
       * string id = 1;
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the subcluster to update.
       * To get the subcluster ID make a [SubclusterService.List] request.
       * 
       *
       * string id = 1;
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the subcluster to update.
       * To get the subcluster ID make a [SubclusterService.List] request.
       * 
       *
       * string id = 1;
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object name_ = "";
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the subcluster.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.dataproc.v1.Common.Resources resources_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.Common.Resources, yandex.cloud.api.dataproc.v1.Common.Resources.Builder, yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder> resourcesBuilder_;
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       * @return Whether the resources field is set.
       */
      public boolean hasResources() {
        return resourcesBuilder_ != null || resources_ != null;
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       * @return The resources.
       */
      public yandex.cloud.api.dataproc.v1.Common.Resources getResources() {
        if (resourcesBuilder_ == null) {
          return resources_ == null ? yandex.cloud.api.dataproc.v1.Common.Resources.getDefaultInstance() : resources_;
        } else {
          return resourcesBuilder_.getMessage();
        }
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       */
      public Builder setResources(yandex.cloud.api.dataproc.v1.Common.Resources value) {
        if (resourcesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          resources_ = value;
          onChanged();
        } else {
          resourcesBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       */
      public Builder setResources(
          yandex.cloud.api.dataproc.v1.Common.Resources.Builder builderForValue) {
        if (resourcesBuilder_ == null) {
          resources_ = builderForValue.build();
          onChanged();
        } else {
          resourcesBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       */
      public Builder mergeResources(yandex.cloud.api.dataproc.v1.Common.Resources value) {
        if (resourcesBuilder_ == null) {
          if (resources_ != null) {
            resources_ =
              yandex.cloud.api.dataproc.v1.Common.Resources.newBuilder(resources_).mergeFrom(value).buildPartial();
          } else {
            resources_ = value;
          }
          onChanged();
        } else {
          resourcesBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       */
      public Builder clearResources() {
        if (resourcesBuilder_ == null) {
          resources_ = null;
          onChanged();
        } else {
          resources_ = null;
          resourcesBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       */
      public yandex.cloud.api.dataproc.v1.Common.Resources.Builder getResourcesBuilder() {
        
        onChanged();
        return getResourcesFieldBuilder().getBuilder();
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       */
      public yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder getResourcesOrBuilder() {
        if (resourcesBuilder_ != null) {
          return resourcesBuilder_.getMessageOrBuilder();
        } else {
          return resources_ == null ?
              yandex.cloud.api.dataproc.v1.Common.Resources.getDefaultInstance() : resources_;
        }
      }
      /**
       * 
       * Resource configuration for each host in the subcluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.Resources resources = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.Common.Resources, yandex.cloud.api.dataproc.v1.Common.Resources.Builder, yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder> 
          getResourcesFieldBuilder() {
        if (resourcesBuilder_ == null) {
          resourcesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.Common.Resources, yandex.cloud.api.dataproc.v1.Common.Resources.Builder, yandex.cloud.api.dataproc.v1.Common.ResourcesOrBuilder>(
                  getResources(),
                  getParentForChildren(),
                  isClean());
          resources_ = null;
        }
        return resourcesBuilder_;
      }
      private long hostsCount_ ;
      /**
       * 
       * Number of hosts in the subcluster.
       * 
       *
       * int64 hosts_count = 4 [(.yandex.cloud.value) = ">=1"];
       * @return The hostsCount.
       */
      @java.lang.Override
      public long getHostsCount() {
        return hostsCount_;
      }
      /**
       * 
       * Number of hosts in the subcluster.
       * 
       *
       * int64 hosts_count = 4 [(.yandex.cloud.value) = ">=1"];
       * @param value The hostsCount to set.
       * @return This builder for chaining.
       */
      public Builder setHostsCount(long value) {
        
        hostsCount_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Number of hosts in the subcluster.
       * 
       *
       * int64 hosts_count = 4 [(.yandex.cloud.value) = ">=1"];
       * @return This builder for chaining.
       */
      public Builder clearHostsCount() {
        
        hostsCount_ = 0L;
        onChanged();
        return this;
      }
      private yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig autoscalingConfig_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder> autoscalingConfigBuilder_;
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       * @return Whether the autoscalingConfig field is set.
       */
      public boolean hasAutoscalingConfig() {
        return autoscalingConfigBuilder_ != null || autoscalingConfig_ != null;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       * @return The autoscalingConfig.
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig getAutoscalingConfig() {
        if (autoscalingConfigBuilder_ == null) {
          return autoscalingConfig_ == null ? yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.getDefaultInstance() : autoscalingConfig_;
        } else {
          return autoscalingConfigBuilder_.getMessage();
        }
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       */
      public Builder setAutoscalingConfig(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig value) {
        if (autoscalingConfigBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          autoscalingConfig_ = value;
          onChanged();
        } else {
          autoscalingConfigBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       */
      public Builder setAutoscalingConfig(
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder builderForValue) {
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfig_ = builderForValue.build();
          onChanged();
        } else {
          autoscalingConfigBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       */
      public Builder mergeAutoscalingConfig(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig value) {
        if (autoscalingConfigBuilder_ == null) {
          if (autoscalingConfig_ != null) {
            autoscalingConfig_ =
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.newBuilder(autoscalingConfig_).mergeFrom(value).buildPartial();
          } else {
            autoscalingConfig_ = value;
          }
          onChanged();
        } else {
          autoscalingConfigBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       */
      public Builder clearAutoscalingConfig() {
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfig_ = null;
          onChanged();
        } else {
          autoscalingConfig_ = null;
          autoscalingConfigBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder getAutoscalingConfigBuilder() {
        
        onChanged();
        return getAutoscalingConfigFieldBuilder().getBuilder();
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder getAutoscalingConfigOrBuilder() {
        if (autoscalingConfigBuilder_ != null) {
          return autoscalingConfigBuilder_.getMessageOrBuilder();
        } else {
          return autoscalingConfig_ == null ?
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.getDefaultInstance() : autoscalingConfig_;
        }
      }
      /**
       * 
       * Configuration for instance group based subclusters
       * 
       *
       * .yandex.cloud.dataproc.v1.AutoscalingConfig autoscaling_config = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder> 
          getAutoscalingConfigFieldBuilder() {
        if (autoscalingConfigBuilder_ == null) {
          autoscalingConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfig.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.AutoscalingConfigOrBuilder>(
                  getAutoscalingConfig(),
                  getParentForChildren(),
                  isClean());
          autoscalingConfig_ = null;
        }
        return autoscalingConfigBuilder_;
      }
      @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.dataproc.v1.UpdateSubclusterConfigSpec)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public UpdateSubclusterConfigSpec parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new UpdateSubclusterConfigSpec(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.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface CreateClusterConfigSpecOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.CreateClusterConfigSpec)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Version of the image for cluster provisioning.
     * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
     * 
     *
     * string version_id = 1;
     * @return The versionId.
     */
    java.lang.String getVersionId();
    /**
     * 
     * Version of the image for cluster provisioning.
     * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
     * 
     *
     * string version_id = 1;
     * @return The bytes for versionId.
     */
    com.google.protobuf.ByteString
        getVersionIdBytes();
    /**
     * 
     * Data Proc specific options.
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return Whether the hadoop field is set.
     */
    boolean hasHadoop();
    /**
     * 
     * Data Proc specific options.
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return The hadoop.
     */
    yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig getHadoop();
    /**
     * 
     * Data Proc specific options.
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     */
    yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder getHadoopOrBuilder();
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    java.util.List 
        getSubclustersSpecList();
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec getSubclustersSpec(int index);
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    int getSubclustersSpecCount();
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder> 
        getSubclustersSpecOrBuilderList();
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder getSubclustersSpecOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.CreateClusterConfigSpec}
   */
  public static final class CreateClusterConfigSpec extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.CreateClusterConfigSpec)
      CreateClusterConfigSpecOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateClusterConfigSpec.newBuilder() to construct.
    private CreateClusterConfigSpec(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private CreateClusterConfigSpec() {
      versionId_ = "";
      subclustersSpec_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateClusterConfigSpec();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateClusterConfigSpec(
        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();
              versionId_ = s;
              break;
            }
            case 18: {
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder subBuilder = null;
              if (hadoop_ != null) {
                subBuilder = hadoop_.toBuilder();
              }
              hadoop_ = input.readMessage(yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(hadoop_);
                hadoop_ = subBuilder.buildPartial();
              }
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                subclustersSpec_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              subclustersSpec_.add(
                  input.readMessage(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          subclustersSpec_ = java.util.Collections.unmodifiableList(subclustersSpec_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder.class);
    }
    public static final int VERSION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object versionId_;
    /**
     * 
     * Version of the image for cluster provisioning.
     * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
     * 
     *
     * string version_id = 1;
     * @return The versionId.
     */
    @java.lang.Override
    public java.lang.String getVersionId() {
      java.lang.Object ref = versionId_;
      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();
        versionId_ = s;
        return s;
      }
    }
    /**
     * 
     * Version of the image for cluster provisioning.
     * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
     * 
     *
     * string version_id = 1;
     * @return The bytes for versionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getVersionIdBytes() {
      java.lang.Object ref = versionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        versionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int HADOOP_FIELD_NUMBER = 2;
    private yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig hadoop_;
    /**
     * 
     * Data Proc specific options.
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return Whether the hadoop field is set.
     */
    @java.lang.Override
    public boolean hasHadoop() {
      return hadoop_ != null;
    }
    /**
     * 
     * Data Proc specific options.
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return The hadoop.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig getHadoop() {
      return hadoop_ == null ? yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.getDefaultInstance() : hadoop_;
    }
    /**
     * 
     * Data Proc specific options.
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder getHadoopOrBuilder() {
      return getHadoop();
    }
    public static final int SUBCLUSTERS_SPEC_FIELD_NUMBER = 3;
    private java.util.List subclustersSpec_;
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    @java.lang.Override
    public java.util.List getSubclustersSpecList() {
      return subclustersSpec_;
    }
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder> 
        getSubclustersSpecOrBuilderList() {
      return subclustersSpec_;
    }
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    @java.lang.Override
    public int getSubclustersSpecCount() {
      return subclustersSpec_.size();
    }
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec getSubclustersSpec(int index) {
      return subclustersSpec_.get(index);
    }
    /**
     * 
     * Specification for creating subclusters.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder getSubclustersSpecOrBuilder(
        int index) {
      return subclustersSpec_.get(index);
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(versionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, versionId_);
      }
      if (hadoop_ != null) {
        output.writeMessage(2, getHadoop());
      }
      for (int i = 0; i < subclustersSpec_.size(); i++) {
        output.writeMessage(3, subclustersSpec_.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(versionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, versionId_);
      }
      if (hadoop_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getHadoop());
      }
      for (int i = 0; i < subclustersSpec_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, subclustersSpec_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec) obj;
      if (!getVersionId()
          .equals(other.getVersionId())) return false;
      if (hasHadoop() != other.hasHadoop()) return false;
      if (hasHadoop()) {
        if (!getHadoop()
            .equals(other.getHadoop())) return false;
      }
      if (!getSubclustersSpecList()
          .equals(other.getSubclustersSpecList())) 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) + VERSION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getVersionId().hashCode();
      if (hasHadoop()) {
        hash = (37 * hash) + HADOOP_FIELD_NUMBER;
        hash = (53 * hash) + getHadoop().hashCode();
      }
      if (getSubclustersSpecCount() > 0) {
        hash = (37 * hash) + SUBCLUSTERS_SPEC_FIELD_NUMBER;
        hash = (53 * hash) + getSubclustersSpecList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec 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.dataproc.v1.CreateClusterConfigSpec}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.CreateClusterConfigSpec)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpecOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSubclustersSpecFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        versionId_ = "";
        if (hadoopBuilder_ == null) {
          hadoop_ = null;
        } else {
          hadoop_ = null;
          hadoopBuilder_ = null;
        }
        if (subclustersSpecBuilder_ == null) {
          subclustersSpec_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          subclustersSpecBuilder_.clear();
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec(this);
        int from_bitField0_ = bitField0_;
        result.versionId_ = versionId_;
        if (hadoopBuilder_ == null) {
          result.hadoop_ = hadoop_;
        } else {
          result.hadoop_ = hadoopBuilder_.build();
        }
        if (subclustersSpecBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            subclustersSpec_ = java.util.Collections.unmodifiableList(subclustersSpec_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.subclustersSpec_ = subclustersSpec_;
        } else {
          result.subclustersSpec_ = subclustersSpecBuilder_.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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.getDefaultInstance()) return this;
        if (!other.getVersionId().isEmpty()) {
          versionId_ = other.versionId_;
          onChanged();
        }
        if (other.hasHadoop()) {
          mergeHadoop(other.getHadoop());
        }
        if (subclustersSpecBuilder_ == null) {
          if (!other.subclustersSpec_.isEmpty()) {
            if (subclustersSpec_.isEmpty()) {
              subclustersSpec_ = other.subclustersSpec_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureSubclustersSpecIsMutable();
              subclustersSpec_.addAll(other.subclustersSpec_);
            }
            onChanged();
          }
        } else {
          if (!other.subclustersSpec_.isEmpty()) {
            if (subclustersSpecBuilder_.isEmpty()) {
              subclustersSpecBuilder_.dispose();
              subclustersSpecBuilder_ = null;
              subclustersSpec_ = other.subclustersSpec_;
              bitField0_ = (bitField0_ & ~0x00000001);
              subclustersSpecBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getSubclustersSpecFieldBuilder() : null;
            } else {
              subclustersSpecBuilder_.addAllMessages(other.subclustersSpec_);
            }
          }
        }
        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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object versionId_ = "";
      /**
       * 
       * Version of the image for cluster provisioning.
       * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
       * 
       *
       * string version_id = 1;
       * @return The versionId.
       */
      public java.lang.String getVersionId() {
        java.lang.Object ref = versionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          versionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Version of the image for cluster provisioning.
       * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
       * 
       *
       * string version_id = 1;
       * @return The bytes for versionId.
       */
      public com.google.protobuf.ByteString
          getVersionIdBytes() {
        java.lang.Object ref = versionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          versionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Version of the image for cluster provisioning.
       * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
       * 
       *
       * string version_id = 1;
       * @param value The versionId to set.
       * @return This builder for chaining.
       */
      public Builder setVersionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        versionId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Version of the image for cluster provisioning.
       * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
       * 
       *
       * string version_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearVersionId() {
        
        versionId_ = getDefaultInstance().getVersionId();
        onChanged();
        return this;
      }
      /**
       * 
       * Version of the image for cluster provisioning.
       * All available versions are listed in the [documentation](/docs/data-proc/concepts/environment).
       * 
       *
       * string version_id = 1;
       * @param value The bytes for versionId to set.
       * @return This builder for chaining.
       */
      public Builder setVersionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        versionId_ = value;
        onChanged();
        return this;
      }
      private yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig hadoop_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder> hadoopBuilder_;
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       * @return Whether the hadoop field is set.
       */
      public boolean hasHadoop() {
        return hadoopBuilder_ != null || hadoop_ != null;
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       * @return The hadoop.
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig getHadoop() {
        if (hadoopBuilder_ == null) {
          return hadoop_ == null ? yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.getDefaultInstance() : hadoop_;
        } else {
          return hadoopBuilder_.getMessage();
        }
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder setHadoop(yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig value) {
        if (hadoopBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          hadoop_ = value;
          onChanged();
        } else {
          hadoopBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder setHadoop(
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder builderForValue) {
        if (hadoopBuilder_ == null) {
          hadoop_ = builderForValue.build();
          onChanged();
        } else {
          hadoopBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder mergeHadoop(yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig value) {
        if (hadoopBuilder_ == null) {
          if (hadoop_ != null) {
            hadoop_ =
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.newBuilder(hadoop_).mergeFrom(value).buildPartial();
          } else {
            hadoop_ = value;
          }
          onChanged();
        } else {
          hadoopBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder clearHadoop() {
        if (hadoopBuilder_ == null) {
          hadoop_ = null;
          onChanged();
        } else {
          hadoop_ = null;
          hadoopBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder getHadoopBuilder() {
        
        onChanged();
        return getHadoopFieldBuilder().getBuilder();
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder getHadoopOrBuilder() {
        if (hadoopBuilder_ != null) {
          return hadoopBuilder_.getMessageOrBuilder();
        } else {
          return hadoop_ == null ?
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.getDefaultInstance() : hadoop_;
        }
      }
      /**
       * 
       * Data Proc specific options.
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder> 
          getHadoopFieldBuilder() {
        if (hadoopBuilder_ == null) {
          hadoopBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder>(
                  getHadoop(),
                  getParentForChildren(),
                  isClean());
          hadoop_ = null;
        }
        return hadoopBuilder_;
      }
      private java.util.List subclustersSpec_ =
        java.util.Collections.emptyList();
      private void ensureSubclustersSpecIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          subclustersSpec_ = new java.util.ArrayList(subclustersSpec_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder> subclustersSpecBuilder_;
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public java.util.List getSubclustersSpecList() {
        if (subclustersSpecBuilder_ == null) {
          return java.util.Collections.unmodifiableList(subclustersSpec_);
        } else {
          return subclustersSpecBuilder_.getMessageList();
        }
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public int getSubclustersSpecCount() {
        if (subclustersSpecBuilder_ == null) {
          return subclustersSpec_.size();
        } else {
          return subclustersSpecBuilder_.getCount();
        }
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec getSubclustersSpec(int index) {
        if (subclustersSpecBuilder_ == null) {
          return subclustersSpec_.get(index);
        } else {
          return subclustersSpecBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder setSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec value) {
        if (subclustersSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.set(index, value);
          onChanged();
        } else {
          subclustersSpecBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder setSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder builderForValue) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.set(index, builderForValue.build());
          onChanged();
        } else {
          subclustersSpecBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder addSubclustersSpec(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec value) {
        if (subclustersSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(value);
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder addSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec value) {
        if (subclustersSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(index, value);
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder addSubclustersSpec(
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder builderForValue) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(builderForValue.build());
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder addSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder builderForValue) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(index, builderForValue.build());
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder addAllSubclustersSpec(
          java.lang.Iterable extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec> values) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, subclustersSpec_);
          onChanged();
        } else {
          subclustersSpecBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder clearSubclustersSpec() {
        if (subclustersSpecBuilder_ == null) {
          subclustersSpec_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          subclustersSpecBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public Builder removeSubclustersSpec(int index) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.remove(index);
          onChanged();
        } else {
          subclustersSpecBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder getSubclustersSpecBuilder(
          int index) {
        return getSubclustersSpecFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder getSubclustersSpecOrBuilder(
          int index) {
        if (subclustersSpecBuilder_ == null) {
          return subclustersSpec_.get(index);  } else {
          return subclustersSpecBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder> 
           getSubclustersSpecOrBuilderList() {
        if (subclustersSpecBuilder_ != null) {
          return subclustersSpecBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(subclustersSpec_);
        }
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder addSubclustersSpecBuilder() {
        return getSubclustersSpecFieldBuilder().addBuilder(
            yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.getDefaultInstance());
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder addSubclustersSpecBuilder(
          int index) {
        return getSubclustersSpecFieldBuilder().addBuilder(
            index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.getDefaultInstance());
      }
      /**
       * 
       * Specification for creating subclusters.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.CreateSubclusterConfigSpec subclusters_spec = 3;
       */
      public java.util.List 
           getSubclustersSpecBuilderList() {
        return getSubclustersSpecFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder> 
          getSubclustersSpecFieldBuilder() {
        if (subclustersSpecBuilder_ == null) {
          subclustersSpecBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateSubclusterConfigSpecOrBuilder>(
                  subclustersSpec_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          subclustersSpec_ = null;
        }
        return subclustersSpecBuilder_;
      }
      @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.dataproc.v1.CreateClusterConfigSpec)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.CreateClusterConfigSpec)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CreateClusterConfigSpec parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateClusterConfigSpec(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.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface UpdateClusterConfigSpecOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.UpdateClusterConfigSpec)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    java.util.List 
        getSubclustersSpecList();
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec getSubclustersSpec(int index);
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    int getSubclustersSpecCount();
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder> 
        getSubclustersSpecOrBuilderList();
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder getSubclustersSpecOrBuilder(
        int index);
    /**
     * 
     * Hadoop specific options
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return Whether the hadoop field is set.
     */
    boolean hasHadoop();
    /**
     * 
     * Hadoop specific options
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return The hadoop.
     */
    yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig getHadoop();
    /**
     * 
     * Hadoop specific options
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     */
    yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder getHadoopOrBuilder();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.UpdateClusterConfigSpec}
   */
  public static final class UpdateClusterConfigSpec extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.UpdateClusterConfigSpec)
      UpdateClusterConfigSpecOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UpdateClusterConfigSpec.newBuilder() to construct.
    private UpdateClusterConfigSpec(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private UpdateClusterConfigSpec() {
      subclustersSpec_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UpdateClusterConfigSpec();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UpdateClusterConfigSpec(
        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)) {
                subclustersSpec_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              subclustersSpec_.add(
                  input.readMessage(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.parser(), extensionRegistry));
              break;
            }
            case 18: {
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder subBuilder = null;
              if (hadoop_ != null) {
                subBuilder = hadoop_.toBuilder();
              }
              hadoop_ = input.readMessage(yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(hadoop_);
                hadoop_ = subBuilder.buildPartial();
              }
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          subclustersSpec_ = java.util.Collections.unmodifiableList(subclustersSpec_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder.class);
    }
    public static final int SUBCLUSTERS_SPEC_FIELD_NUMBER = 1;
    private java.util.List subclustersSpec_;
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    @java.lang.Override
    public java.util.List getSubclustersSpecList() {
      return subclustersSpec_;
    }
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder> 
        getSubclustersSpecOrBuilderList() {
      return subclustersSpec_;
    }
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    @java.lang.Override
    public int getSubclustersSpecCount() {
      return subclustersSpec_.size();
    }
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec getSubclustersSpec(int index) {
      return subclustersSpec_.get(index);
    }
    /**
     * 
     * New configuration for subclusters in a cluster.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder getSubclustersSpecOrBuilder(
        int index) {
      return subclustersSpec_.get(index);
    }
    public static final int HADOOP_FIELD_NUMBER = 2;
    private yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig hadoop_;
    /**
     * 
     * Hadoop specific options
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return Whether the hadoop field is set.
     */
    @java.lang.Override
    public boolean hasHadoop() {
      return hadoop_ != null;
    }
    /**
     * 
     * Hadoop specific options
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     * @return The hadoop.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig getHadoop() {
      return hadoop_ == null ? yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.getDefaultInstance() : hadoop_;
    }
    /**
     * 
     * Hadoop specific options
     * 
     *
     * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder getHadoopOrBuilder() {
      return getHadoop();
    }
    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 < subclustersSpec_.size(); i++) {
        output.writeMessage(1, subclustersSpec_.get(i));
      }
      if (hadoop_ != null) {
        output.writeMessage(2, getHadoop());
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      for (int i = 0; i < subclustersSpec_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, subclustersSpec_.get(i));
      }
      if (hadoop_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getHadoop());
      }
      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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec) obj;
      if (!getSubclustersSpecList()
          .equals(other.getSubclustersSpecList())) return false;
      if (hasHadoop() != other.hasHadoop()) return false;
      if (hasHadoop()) {
        if (!getHadoop()
            .equals(other.getHadoop())) 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 (getSubclustersSpecCount() > 0) {
        hash = (37 * hash) + SUBCLUSTERS_SPEC_FIELD_NUMBER;
        hash = (53 * hash) + getSubclustersSpecList().hashCode();
      }
      if (hasHadoop()) {
        hash = (37 * hash) + HADOOP_FIELD_NUMBER;
        hash = (53 * hash) + getHadoop().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec 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.dataproc.v1.UpdateClusterConfigSpec}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.UpdateClusterConfigSpec)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpecOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSubclustersSpecFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (subclustersSpecBuilder_ == null) {
          subclustersSpec_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          subclustersSpecBuilder_.clear();
        }
        if (hadoopBuilder_ == null) {
          hadoop_ = null;
        } else {
          hadoop_ = null;
          hadoopBuilder_ = null;
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec(this);
        int from_bitField0_ = bitField0_;
        if (subclustersSpecBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            subclustersSpec_ = java.util.Collections.unmodifiableList(subclustersSpec_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.subclustersSpec_ = subclustersSpec_;
        } else {
          result.subclustersSpec_ = subclustersSpecBuilder_.build();
        }
        if (hadoopBuilder_ == null) {
          result.hadoop_ = hadoop_;
        } else {
          result.hadoop_ = hadoopBuilder_.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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.getDefaultInstance()) return this;
        if (subclustersSpecBuilder_ == null) {
          if (!other.subclustersSpec_.isEmpty()) {
            if (subclustersSpec_.isEmpty()) {
              subclustersSpec_ = other.subclustersSpec_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureSubclustersSpecIsMutable();
              subclustersSpec_.addAll(other.subclustersSpec_);
            }
            onChanged();
          }
        } else {
          if (!other.subclustersSpec_.isEmpty()) {
            if (subclustersSpecBuilder_.isEmpty()) {
              subclustersSpecBuilder_.dispose();
              subclustersSpecBuilder_ = null;
              subclustersSpec_ = other.subclustersSpec_;
              bitField0_ = (bitField0_ & ~0x00000001);
              subclustersSpecBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getSubclustersSpecFieldBuilder() : null;
            } else {
              subclustersSpecBuilder_.addAllMessages(other.subclustersSpec_);
            }
          }
        }
        if (other.hasHadoop()) {
          mergeHadoop(other.getHadoop());
        }
        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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List subclustersSpec_ =
        java.util.Collections.emptyList();
      private void ensureSubclustersSpecIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          subclustersSpec_ = new java.util.ArrayList(subclustersSpec_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder> subclustersSpecBuilder_;
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public java.util.List getSubclustersSpecList() {
        if (subclustersSpecBuilder_ == null) {
          return java.util.Collections.unmodifiableList(subclustersSpec_);
        } else {
          return subclustersSpecBuilder_.getMessageList();
        }
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public int getSubclustersSpecCount() {
        if (subclustersSpecBuilder_ == null) {
          return subclustersSpec_.size();
        } else {
          return subclustersSpecBuilder_.getCount();
        }
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec getSubclustersSpec(int index) {
        if (subclustersSpecBuilder_ == null) {
          return subclustersSpec_.get(index);
        } else {
          return subclustersSpecBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder setSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec value) {
        if (subclustersSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.set(index, value);
          onChanged();
        } else {
          subclustersSpecBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder setSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder builderForValue) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.set(index, builderForValue.build());
          onChanged();
        } else {
          subclustersSpecBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder addSubclustersSpec(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec value) {
        if (subclustersSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(value);
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder addSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec value) {
        if (subclustersSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(index, value);
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder addSubclustersSpec(
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder builderForValue) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(builderForValue.build());
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder addSubclustersSpec(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder builderForValue) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.add(index, builderForValue.build());
          onChanged();
        } else {
          subclustersSpecBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder addAllSubclustersSpec(
          java.lang.Iterable extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec> values) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, subclustersSpec_);
          onChanged();
        } else {
          subclustersSpecBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder clearSubclustersSpec() {
        if (subclustersSpecBuilder_ == null) {
          subclustersSpec_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          subclustersSpecBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public Builder removeSubclustersSpec(int index) {
        if (subclustersSpecBuilder_ == null) {
          ensureSubclustersSpecIsMutable();
          subclustersSpec_.remove(index);
          onChanged();
        } else {
          subclustersSpecBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder getSubclustersSpecBuilder(
          int index) {
        return getSubclustersSpecFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder getSubclustersSpecOrBuilder(
          int index) {
        if (subclustersSpecBuilder_ == null) {
          return subclustersSpec_.get(index);  } else {
          return subclustersSpecBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder> 
           getSubclustersSpecOrBuilderList() {
        if (subclustersSpecBuilder_ != null) {
          return subclustersSpecBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(subclustersSpec_);
        }
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder addSubclustersSpecBuilder() {
        return getSubclustersSpecFieldBuilder().addBuilder(
            yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.getDefaultInstance());
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder addSubclustersSpecBuilder(
          int index) {
        return getSubclustersSpecFieldBuilder().addBuilder(
            index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.getDefaultInstance());
      }
      /**
       * 
       * New configuration for subclusters in a cluster.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UpdateSubclusterConfigSpec subclusters_spec = 1;
       */
      public java.util.List 
           getSubclustersSpecBuilderList() {
        return getSubclustersSpecFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder> 
          getSubclustersSpecFieldBuilder() {
        if (subclustersSpecBuilder_ == null) {
          subclustersSpecBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateSubclusterConfigSpecOrBuilder>(
                  subclustersSpec_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          subclustersSpec_ = null;
        }
        return subclustersSpecBuilder_;
      }
      private yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig hadoop_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder> hadoopBuilder_;
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       * @return Whether the hadoop field is set.
       */
      public boolean hasHadoop() {
        return hadoopBuilder_ != null || hadoop_ != null;
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       * @return The hadoop.
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig getHadoop() {
        if (hadoopBuilder_ == null) {
          return hadoop_ == null ? yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.getDefaultInstance() : hadoop_;
        } else {
          return hadoopBuilder_.getMessage();
        }
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder setHadoop(yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig value) {
        if (hadoopBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          hadoop_ = value;
          onChanged();
        } else {
          hadoopBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder setHadoop(
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder builderForValue) {
        if (hadoopBuilder_ == null) {
          hadoop_ = builderForValue.build();
          onChanged();
        } else {
          hadoopBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder mergeHadoop(yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig value) {
        if (hadoopBuilder_ == null) {
          if (hadoop_ != null) {
            hadoop_ =
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.newBuilder(hadoop_).mergeFrom(value).buildPartial();
          } else {
            hadoop_ = value;
          }
          onChanged();
        } else {
          hadoopBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public Builder clearHadoop() {
        if (hadoopBuilder_ == null) {
          hadoop_ = null;
          onChanged();
        } else {
          hadoop_ = null;
          hadoopBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder getHadoopBuilder() {
        
        onChanged();
        return getHadoopFieldBuilder().getBuilder();
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      public yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder getHadoopOrBuilder() {
        if (hadoopBuilder_ != null) {
          return hadoopBuilder_.getMessageOrBuilder();
        } else {
          return hadoop_ == null ?
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.getDefaultInstance() : hadoop_;
        }
      }
      /**
       * 
       * Hadoop specific options
       * 
       *
       * .yandex.cloud.dataproc.v1.HadoopConfig hadoop = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder> 
          getHadoopFieldBuilder() {
        if (hadoopBuilder_ == null) {
          hadoopBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfig.Builder, yandex.cloud.api.dataproc.v1.ClusterOuterClass.HadoopConfigOrBuilder>(
                  getHadoop(),
                  getParentForChildren(),
                  isClean());
          hadoop_ = null;
        }
        return hadoopBuilder_;
      }
      @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.dataproc.v1.UpdateClusterConfigSpec)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.UpdateClusterConfigSpec)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public UpdateClusterConfigSpec parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new UpdateClusterConfigSpec(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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface CreateClusterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.CreateClusterRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the folder to create a cluster in.
     * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The folderId.
     */
    java.lang.String getFolderId();
    /**
     * 
     * ID of the folder to create a cluster in.
     * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for folderId.
     */
    com.google.protobuf.ByteString
        getFolderIdBytes();
    /**
     * 
     * Name of the cluster. The name must be unique within the folder.
     * The name can't be changed after the Data Proc cluster is created.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    java.lang.String getName();
    /**
     * 
     * Name of the cluster. The name must be unique within the folder.
     * The name can't be changed after the Data Proc cluster is created.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
    /**
     * 
     * Description of the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The description.
     */
    java.lang.String getDescription();
    /**
     * 
     * Description of the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The bytes for description.
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    int getLabelsCount();
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    boolean containsLabels(
        java.lang.String key);
    /**
     * Use {@link #getLabelsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getLabels();
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    java.util.Map
    getLabelsMap();
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    java.lang.String getLabelsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    java.lang.String getLabelsOrThrow(
        java.lang.String key);
    /**
     * 
     * Configuration and resources for hosts that should be created with the cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
     * @return Whether the configSpec field is set.
     */
    boolean hasConfigSpec();
    /**
     * 
     * Configuration and resources for hosts that should be created with the cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
     * @return The configSpec.
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec getConfigSpec();
    /**
     * 
     * Configuration and resources for hosts that should be created with the cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpecOrBuilder getConfigSpecOrBuilder();
    /**
     * 
     * ID of the availability zone where the cluster should be placed.
     * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
     * 
     *
     * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The zoneId.
     */
    java.lang.String getZoneId();
    /**
     * 
     * ID of the availability zone where the cluster should be placed.
     * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
     * 
     *
     * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for zoneId.
     */
    com.google.protobuf.ByteString
        getZoneIdBytes();
    /**
     * 
     * ID of the service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 8 [(.yandex.cloud.required) = true];
     * @return The serviceAccountId.
     */
    java.lang.String getServiceAccountId();
    /**
     * 
     * ID of the service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 8 [(.yandex.cloud.required) = true];
     * @return The bytes for serviceAccountId.
     */
    com.google.protobuf.ByteString
        getServiceAccountIdBytes();
    /**
     * 
     * Name of the Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 9;
     * @return The bucket.
     */
    java.lang.String getBucket();
    /**
     * 
     * Name of the Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 9;
     * @return The bytes for bucket.
     */
    com.google.protobuf.ByteString
        getBucketBytes();
    /**
     * 
     * Enable UI Proxy feature.
     * 
     *
     * bool ui_proxy = 10;
     * @return The uiProxy.
     */
    boolean getUiProxy();
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return A list containing the securityGroupIds.
     */
    java.util.List
        getSecurityGroupIdsList();
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return The count of securityGroupIds.
     */
    int getSecurityGroupIdsCount();
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the element to return.
     * @return The securityGroupIds at the given index.
     */
    java.lang.String getSecurityGroupIds(int index);
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the value to return.
     * @return The bytes of the securityGroupIds at the given index.
     */
    com.google.protobuf.ByteString
        getSecurityGroupIdsBytes(int index);
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @return A list containing the hostGroupIds.
     */
    java.util.List
        getHostGroupIdsList();
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @return The count of hostGroupIds.
     */
    int getHostGroupIdsCount();
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @param index The index of the element to return.
     * @return The hostGroupIds at the given index.
     */
    java.lang.String getHostGroupIds(int index);
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @param index The index of the value to return.
     * @return The bytes of the hostGroupIds at the given index.
     */
    com.google.protobuf.ByteString
        getHostGroupIdsBytes(int index);
    /**
     * 
     * Deletion Protection inhibits deletion of the cluster
     * 
     *
     * bool deletion_protection = 13;
     * @return The deletionProtection.
     */
    boolean getDeletionProtection();
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 14;
     * @return The logGroupId.
     */
    java.lang.String getLogGroupId();
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 14;
     * @return The bytes for logGroupId.
     */
    com.google.protobuf.ByteString
        getLogGroupIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.CreateClusterRequest}
   */
  public static final class CreateClusterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.CreateClusterRequest)
      CreateClusterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateClusterRequest.newBuilder() to construct.
    private CreateClusterRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private CreateClusterRequest() {
      folderId_ = "";
      name_ = "";
      description_ = "";
      zoneId_ = "";
      serviceAccountId_ = "";
      bucket_ = "";
      securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      hostGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      logGroupId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateClusterRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateClusterRequest(
        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();
              folderId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              name_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();
              description_ = s;
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                labels_ = com.google.protobuf.MapField.newMapField(
                    LabelsDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              labels__ = input.readMessage(
                  LabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              labels_.getMutableMap().put(
                  labels__.getKey(), labels__.getValue());
              break;
            }
            case 50: {
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder subBuilder = null;
              if (configSpec_ != null) {
                subBuilder = configSpec_.toBuilder();
              }
              configSpec_ = input.readMessage(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(configSpec_);
                configSpec_ = subBuilder.buildPartial();
              }
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();
              zoneId_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();
              serviceAccountId_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();
              bucket_ = s;
              break;
            }
            case 80: {
              uiProxy_ = input.readBool();
              break;
            }
            case 90: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                securityGroupIds_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              securityGroupIds_.add(s);
              break;
            }
            case 98: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                hostGroupIds_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              hostGroupIds_.add(s);
              break;
            }
            case 104: {
              deletionProtection_ = input.readBool();
              break;
            }
            case 114: {
              java.lang.String s = input.readStringRequireUtf8();
              logGroupId_ = 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_ & 0x00000002) != 0)) {
          securityGroupIds_ = securityGroupIds_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          hostGroupIds_ = hostGroupIds_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_descriptor;
    }
    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 4:
          return internalGetLabels();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest.Builder.class);
    }
    public static final int FOLDER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object folderId_;
    /**
     * 
     * ID of the folder to create a cluster in.
     * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The folderId.
     */
    @java.lang.Override
    public java.lang.String getFolderId() {
      java.lang.Object ref = folderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        folderId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the folder to create a cluster in.
     * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
     * 
     *
     * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for folderId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFolderIdBytes() {
      java.lang.Object ref = folderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        folderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object name_;
    /**
     * 
     * Name of the cluster. The name must be unique within the folder.
     * The name can't be changed after the Data Proc cluster is created.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the cluster. The name must be unique within the folder.
     * The name can't be changed after the Data Proc cluster is created.
     * 
     *
     * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int DESCRIPTION_FIELD_NUMBER = 3;
    private volatile java.lang.Object description_;
    /**
     * 
     * Description of the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The description.
     */
    @java.lang.Override
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        description_ = s;
        return s;
      }
    }
    /**
     * 
     * Description of the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The bytes for description.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int LABELS_FIELD_NUMBER = 4;
    private static final class LabelsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_LabelsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> labels_;
    private com.google.protobuf.MapField
    internalGetLabels() {
      if (labels_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            LabelsDefaultEntryHolder.defaultEntry);
      }
      return labels_;
    }
    public int getLabelsCount() {
      return internalGetLabels().getMap().size();
    }
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public boolean containsLabels(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetLabels().getMap().containsKey(key);
    }
    /**
     * Use {@link #getLabelsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getLabels() {
      return getLabelsMap();
    }
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public java.util.Map getLabelsMap() {
      return internalGetLabels().getMap();
    }
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public java.lang.String getLabelsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetLabels().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * 
     * Cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public java.lang.String getLabelsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetLabels().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }
    public static final int CONFIG_SPEC_FIELD_NUMBER = 6;
    private yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec configSpec_;
    /**
     * 
     * Configuration and resources for hosts that should be created with the cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
     * @return Whether the configSpec field is set.
     */
    @java.lang.Override
    public boolean hasConfigSpec() {
      return configSpec_ != null;
    }
    /**
     * 
     * Configuration and resources for hosts that should be created with the cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
     * @return The configSpec.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec getConfigSpec() {
      return configSpec_ == null ? yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.getDefaultInstance() : configSpec_;
    }
    /**
     * 
     * Configuration and resources for hosts that should be created with the cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpecOrBuilder getConfigSpecOrBuilder() {
      return getConfigSpec();
    }
    public static final int ZONE_ID_FIELD_NUMBER = 7;
    private volatile java.lang.Object zoneId_;
    /**
     * 
     * ID of the availability zone where the cluster should be placed.
     * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
     * 
     *
     * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The zoneId.
     */
    @java.lang.Override
    public java.lang.String getZoneId() {
      java.lang.Object ref = zoneId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        zoneId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the availability zone where the cluster should be placed.
     * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
     * 
     *
     * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
     * @return The bytes for zoneId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getZoneIdBytes() {
      java.lang.Object ref = zoneId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        zoneId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int SERVICE_ACCOUNT_ID_FIELD_NUMBER = 8;
    private volatile java.lang.Object serviceAccountId_;
    /**
     * 
     * ID of the service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 8 [(.yandex.cloud.required) = true];
     * @return The serviceAccountId.
     */
    @java.lang.Override
    public java.lang.String getServiceAccountId() {
      java.lang.Object ref = serviceAccountId_;
      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();
        serviceAccountId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 8 [(.yandex.cloud.required) = true];
     * @return The bytes for serviceAccountId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getServiceAccountIdBytes() {
      java.lang.Object ref = serviceAccountId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        serviceAccountId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int BUCKET_FIELD_NUMBER = 9;
    private volatile java.lang.Object bucket_;
    /**
     * 
     * Name of the Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 9;
     * @return The bucket.
     */
    @java.lang.Override
    public java.lang.String getBucket() {
      java.lang.Object ref = bucket_;
      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();
        bucket_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 9;
     * @return The bytes for bucket.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getBucketBytes() {
      java.lang.Object ref = bucket_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        bucket_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int UI_PROXY_FIELD_NUMBER = 10;
    private boolean uiProxy_;
    /**
     * 
     * Enable UI Proxy feature.
     * 
     *
     * bool ui_proxy = 10;
     * @return The uiProxy.
     */
    @java.lang.Override
    public boolean getUiProxy() {
      return uiProxy_;
    }
    public static final int SECURITY_GROUP_IDS_FIELD_NUMBER = 11;
    private com.google.protobuf.LazyStringList securityGroupIds_;
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return A list containing the securityGroupIds.
     */
    public com.google.protobuf.ProtocolStringList
        getSecurityGroupIdsList() {
      return securityGroupIds_;
    }
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return The count of securityGroupIds.
     */
    public int getSecurityGroupIdsCount() {
      return securityGroupIds_.size();
    }
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the element to return.
     * @return The securityGroupIds at the given index.
     */
    public java.lang.String getSecurityGroupIds(int index) {
      return securityGroupIds_.get(index);
    }
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the value to return.
     * @return The bytes of the securityGroupIds at the given index.
     */
    public com.google.protobuf.ByteString
        getSecurityGroupIdsBytes(int index) {
      return securityGroupIds_.getByteString(index);
    }
    public static final int HOST_GROUP_IDS_FIELD_NUMBER = 12;
    private com.google.protobuf.LazyStringList hostGroupIds_;
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @return A list containing the hostGroupIds.
     */
    public com.google.protobuf.ProtocolStringList
        getHostGroupIdsList() {
      return hostGroupIds_;
    }
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @return The count of hostGroupIds.
     */
    public int getHostGroupIdsCount() {
      return hostGroupIds_.size();
    }
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @param index The index of the element to return.
     * @return The hostGroupIds at the given index.
     */
    public java.lang.String getHostGroupIds(int index) {
      return hostGroupIds_.get(index);
    }
    /**
     * 
     * Host groups to place VMs of cluster on.
     * 
     *
     * repeated string host_group_ids = 12;
     * @param index The index of the value to return.
     * @return The bytes of the hostGroupIds at the given index.
     */
    public com.google.protobuf.ByteString
        getHostGroupIdsBytes(int index) {
      return hostGroupIds_.getByteString(index);
    }
    public static final int DELETION_PROTECTION_FIELD_NUMBER = 13;
    private boolean deletionProtection_;
    /**
     * 
     * Deletion Protection inhibits deletion of the cluster
     * 
     *
     * bool deletion_protection = 13;
     * @return The deletionProtection.
     */
    @java.lang.Override
    public boolean getDeletionProtection() {
      return deletionProtection_;
    }
    public static final int LOG_GROUP_ID_FIELD_NUMBER = 14;
    private volatile java.lang.Object logGroupId_;
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 14;
     * @return The logGroupId.
     */
    @java.lang.Override
    public java.lang.String getLogGroupId() {
      java.lang.Object ref = logGroupId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        logGroupId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 14;
     * @return The bytes for logGroupId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLogGroupIdBytes() {
      java.lang.Object ref = logGroupId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        logGroupId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    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(folderId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, folderId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetLabels(),
          LabelsDefaultEntryHolder.defaultEntry,
          4);
      if (configSpec_ != null) {
        output.writeMessage(6, getConfigSpec());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(zoneId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, zoneId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, serviceAccountId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(bucket_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, bucket_);
      }
      if (uiProxy_ != false) {
        output.writeBool(10, uiProxy_);
      }
      for (int i = 0; i < securityGroupIds_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, securityGroupIds_.getRaw(i));
      }
      for (int i = 0; i < hostGroupIds_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 12, hostGroupIds_.getRaw(i));
      }
      if (deletionProtection_ != false) {
        output.writeBool(13, deletionProtection_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logGroupId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, logGroupId_);
      }
      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(folderId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, folderId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
      }
      for (java.util.Map.Entry entry
           : internalGetLabels().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        labels__ = LabelsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, labels__);
      }
      if (configSpec_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getConfigSpec());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(zoneId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, zoneId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, serviceAccountId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(bucket_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, bucket_);
      }
      if (uiProxy_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, uiProxy_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < securityGroupIds_.size(); i++) {
          dataSize += computeStringSizeNoTag(securityGroupIds_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSecurityGroupIdsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < hostGroupIds_.size(); i++) {
          dataSize += computeStringSizeNoTag(hostGroupIds_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getHostGroupIdsList().size();
      }
      if (deletionProtection_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, deletionProtection_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logGroupId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, logGroupId_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest) obj;
      if (!getFolderId()
          .equals(other.getFolderId())) return false;
      if (!getName()
          .equals(other.getName())) return false;
      if (!getDescription()
          .equals(other.getDescription())) return false;
      if (!internalGetLabels().equals(
          other.internalGetLabels())) return false;
      if (hasConfigSpec() != other.hasConfigSpec()) return false;
      if (hasConfigSpec()) {
        if (!getConfigSpec()
            .equals(other.getConfigSpec())) return false;
      }
      if (!getZoneId()
          .equals(other.getZoneId())) return false;
      if (!getServiceAccountId()
          .equals(other.getServiceAccountId())) return false;
      if (!getBucket()
          .equals(other.getBucket())) return false;
      if (getUiProxy()
          != other.getUiProxy()) return false;
      if (!getSecurityGroupIdsList()
          .equals(other.getSecurityGroupIdsList())) return false;
      if (!getHostGroupIdsList()
          .equals(other.getHostGroupIdsList())) return false;
      if (getDeletionProtection()
          != other.getDeletionProtection()) return false;
      if (!getLogGroupId()
          .equals(other.getLogGroupId())) 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) + FOLDER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getFolderId().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
      hash = (53 * hash) + getDescription().hashCode();
      if (!internalGetLabels().getMap().isEmpty()) {
        hash = (37 * hash) + LABELS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetLabels().hashCode();
      }
      if (hasConfigSpec()) {
        hash = (37 * hash) + CONFIG_SPEC_FIELD_NUMBER;
        hash = (53 * hash) + getConfigSpec().hashCode();
      }
      hash = (37 * hash) + ZONE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getZoneId().hashCode();
      hash = (37 * hash) + SERVICE_ACCOUNT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getServiceAccountId().hashCode();
      hash = (37 * hash) + BUCKET_FIELD_NUMBER;
      hash = (53 * hash) + getBucket().hashCode();
      hash = (37 * hash) + UI_PROXY_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getUiProxy());
      if (getSecurityGroupIdsCount() > 0) {
        hash = (37 * hash) + SECURITY_GROUP_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getSecurityGroupIdsList().hashCode();
      }
      if (getHostGroupIdsCount() > 0) {
        hash = (37 * hash) + HOST_GROUP_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getHostGroupIdsList().hashCode();
      }
      hash = (37 * hash) + DELETION_PROTECTION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getDeletionProtection());
      hash = (37 * hash) + LOG_GROUP_ID_FIELD_NUMBER;
      hash = (53 * hash) + getLogGroupId().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest 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.dataproc.v1.CreateClusterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.CreateClusterRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_descriptor;
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetLabels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetMutableLabels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest.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();
        folderId_ = "";
        name_ = "";
        description_ = "";
        internalGetMutableLabels().clear();
        if (configSpecBuilder_ == null) {
          configSpec_ = null;
        } else {
          configSpec_ = null;
          configSpecBuilder_ = null;
        }
        zoneId_ = "";
        serviceAccountId_ = "";
        bucket_ = "";
        uiProxy_ = false;
        securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        hostGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        deletionProtection_ = false;
        logGroupId_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest(this);
        int from_bitField0_ = bitField0_;
        result.folderId_ = folderId_;
        result.name_ = name_;
        result.description_ = description_;
        result.labels_ = internalGetLabels();
        result.labels_.makeImmutable();
        if (configSpecBuilder_ == null) {
          result.configSpec_ = configSpec_;
        } else {
          result.configSpec_ = configSpecBuilder_.build();
        }
        result.zoneId_ = zoneId_;
        result.serviceAccountId_ = serviceAccountId_;
        result.bucket_ = bucket_;
        result.uiProxy_ = uiProxy_;
        if (((bitField0_ & 0x00000002) != 0)) {
          securityGroupIds_ = securityGroupIds_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.securityGroupIds_ = securityGroupIds_;
        if (((bitField0_ & 0x00000004) != 0)) {
          hostGroupIds_ = hostGroupIds_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.hostGroupIds_ = hostGroupIds_;
        result.deletionProtection_ = deletionProtection_;
        result.logGroupId_ = logGroupId_;
        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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest.getDefaultInstance()) return this;
        if (!other.getFolderId().isEmpty()) {
          folderId_ = other.folderId_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (!other.getDescription().isEmpty()) {
          description_ = other.description_;
          onChanged();
        }
        internalGetMutableLabels().mergeFrom(
            other.internalGetLabels());
        if (other.hasConfigSpec()) {
          mergeConfigSpec(other.getConfigSpec());
        }
        if (!other.getZoneId().isEmpty()) {
          zoneId_ = other.zoneId_;
          onChanged();
        }
        if (!other.getServiceAccountId().isEmpty()) {
          serviceAccountId_ = other.serviceAccountId_;
          onChanged();
        }
        if (!other.getBucket().isEmpty()) {
          bucket_ = other.bucket_;
          onChanged();
        }
        if (other.getUiProxy() != false) {
          setUiProxy(other.getUiProxy());
        }
        if (!other.securityGroupIds_.isEmpty()) {
          if (securityGroupIds_.isEmpty()) {
            securityGroupIds_ = other.securityGroupIds_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureSecurityGroupIdsIsMutable();
            securityGroupIds_.addAll(other.securityGroupIds_);
          }
          onChanged();
        }
        if (!other.hostGroupIds_.isEmpty()) {
          if (hostGroupIds_.isEmpty()) {
            hostGroupIds_ = other.hostGroupIds_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureHostGroupIdsIsMutable();
            hostGroupIds_.addAll(other.hostGroupIds_);
          }
          onChanged();
        }
        if (other.getDeletionProtection() != false) {
          setDeletionProtection(other.getDeletionProtection());
        }
        if (!other.getLogGroupId().isEmpty()) {
          logGroupId_ = other.logGroupId_;
          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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object folderId_ = "";
      /**
       * 
       * ID of the folder to create a cluster in.
       * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The folderId.
       */
      public java.lang.String getFolderId() {
        java.lang.Object ref = folderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          folderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the folder to create a cluster in.
       * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for folderId.
       */
      public com.google.protobuf.ByteString
          getFolderIdBytes() {
        java.lang.Object ref = folderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          folderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the folder to create a cluster in.
       * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The folderId to set.
       * @return This builder for chaining.
       */
      public Builder setFolderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        folderId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the folder to create a cluster in.
       * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearFolderId() {
        
        folderId_ = getDefaultInstance().getFolderId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the folder to create a cluster in.
       * To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
       * 
       *
       * string folder_id = 1 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for folderId to set.
       * @return This builder for chaining.
       */
      public Builder setFolderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        folderId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object name_ = "";
      /**
       * 
       * Name of the cluster. The name must be unique within the folder.
       * The name can't be changed after the Data Proc cluster is created.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the cluster. The name must be unique within the folder.
       * The name can't be changed after the Data Proc cluster is created.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the cluster. The name must be unique within the folder.
       * The name can't be changed after the Data Proc cluster is created.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the cluster. The name must be unique within the folder.
       * The name can't be changed after the Data Proc cluster is created.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the cluster. The name must be unique within the folder.
       * The name can't be changed after the Data Proc cluster is created.
       * 
       *
       * string name = 2 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object description_ = "";
      /**
       * 
       * Description of the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @return The description.
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          description_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Description of the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @return The bytes for description.
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Description of the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @param value The description to set.
       * @return This builder for chaining.
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        description_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Description of the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @return This builder for chaining.
       */
      public Builder clearDescription() {
        
        description_ = getDefaultInstance().getDescription();
        onChanged();
        return this;
      }
      /**
       * 
       * Description of the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @param value The bytes for description to set.
       * @return This builder for chaining.
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        description_ = value;
        onChanged();
        return this;
      }
      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> labels_;
      private com.google.protobuf.MapField
      internalGetLabels() {
        if (labels_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              LabelsDefaultEntryHolder.defaultEntry);
        }
        return labels_;
      }
      private com.google.protobuf.MapField
      internalGetMutableLabels() {
        onChanged();;
        if (labels_ == null) {
          labels_ = com.google.protobuf.MapField.newMapField(
              LabelsDefaultEntryHolder.defaultEntry);
        }
        if (!labels_.isMutable()) {
          labels_ = labels_.copy();
        }
        return labels_;
      }
      public int getLabelsCount() {
        return internalGetLabels().getMap().size();
      }
      /**
       * 
       * Cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public boolean containsLabels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetLabels().getMap().containsKey(key);
      }
      /**
       * Use {@link #getLabelsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getLabels() {
        return getLabelsMap();
      }
      /**
       * 
       * Cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public java.util.Map getLabelsMap() {
        return internalGetLabels().getMap();
      }
      /**
       * 
       * Cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public java.lang.String getLabelsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map map =
            internalGetLabels().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * 
       * Cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public java.lang.String getLabelsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map map =
            internalGetLabels().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }
      public Builder clearLabels() {
        internalGetMutableLabels().getMutableMap()
            .clear();
        return this;
      }
      /**
       * 
       * Cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      public Builder removeLabels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableLabels().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableLabels() {
        return internalGetMutableLabels().getMutableMap();
      }
      /**
       * 
       * Cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      public Builder putLabels(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}
        internalGetMutableLabels().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * 
       * Cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      public Builder putAllLabels(
          java.util.Map values) {
        internalGetMutableLabels().getMutableMap()
            .putAll(values);
        return this;
      }
      private yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec configSpec_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpecOrBuilder> configSpecBuilder_;
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       * @return Whether the configSpec field is set.
       */
      public boolean hasConfigSpec() {
        return configSpecBuilder_ != null || configSpec_ != null;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       * @return The configSpec.
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec getConfigSpec() {
        if (configSpecBuilder_ == null) {
          return configSpec_ == null ? yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.getDefaultInstance() : configSpec_;
        } else {
          return configSpecBuilder_.getMessage();
        }
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       */
      public Builder setConfigSpec(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec value) {
        if (configSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          configSpec_ = value;
          onChanged();
        } else {
          configSpecBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       */
      public Builder setConfigSpec(
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder builderForValue) {
        if (configSpecBuilder_ == null) {
          configSpec_ = builderForValue.build();
          onChanged();
        } else {
          configSpecBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       */
      public Builder mergeConfigSpec(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec value) {
        if (configSpecBuilder_ == null) {
          if (configSpec_ != null) {
            configSpec_ =
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.newBuilder(configSpec_).mergeFrom(value).buildPartial();
          } else {
            configSpec_ = value;
          }
          onChanged();
        } else {
          configSpecBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       */
      public Builder clearConfigSpec() {
        if (configSpecBuilder_ == null) {
          configSpec_ = null;
          onChanged();
        } else {
          configSpec_ = null;
          configSpecBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder getConfigSpecBuilder() {
        
        onChanged();
        return getConfigSpecFieldBuilder().getBuilder();
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpecOrBuilder getConfigSpecOrBuilder() {
        if (configSpecBuilder_ != null) {
          return configSpecBuilder_.getMessageOrBuilder();
        } else {
          return configSpec_ == null ?
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.getDefaultInstance() : configSpec_;
        }
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.CreateClusterConfigSpec config_spec = 6 [(.yandex.cloud.required) = true];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpecOrBuilder> 
          getConfigSpecFieldBuilder() {
        if (configSpecBuilder_ == null) {
          configSpecBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterConfigSpecOrBuilder>(
                  getConfigSpec(),
                  getParentForChildren(),
                  isClean());
          configSpec_ = null;
        }
        return configSpecBuilder_;
      }
      private java.lang.Object zoneId_ = "";
      /**
       * 
       * ID of the availability zone where the cluster should be placed.
       * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
       * 
       *
       * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The zoneId.
       */
      public java.lang.String getZoneId() {
        java.lang.Object ref = zoneId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          zoneId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the availability zone where the cluster should be placed.
       * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
       * 
       *
       * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return The bytes for zoneId.
       */
      public com.google.protobuf.ByteString
          getZoneIdBytes() {
        java.lang.Object ref = zoneId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          zoneId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the availability zone where the cluster should be placed.
       * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
       * 
       *
       * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The zoneId to set.
       * @return This builder for chaining.
       */
      public Builder setZoneId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        zoneId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the availability zone where the cluster should be placed.
       * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
       * 
       *
       * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearZoneId() {
        
        zoneId_ = getDefaultInstance().getZoneId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the availability zone where the cluster should be placed.
       * To get the list of available zones make a [yandex.cloud.compute.v1.ZoneService.List] request.
       * 
       *
       * string zone_id = 7 [(.yandex.cloud.required) = true, (.yandex.cloud.length) = "<=50"];
       * @param value The bytes for zoneId to set.
       * @return This builder for chaining.
       */
      public Builder setZoneIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        zoneId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object serviceAccountId_ = "";
      /**
       * 
       * ID of the service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 8 [(.yandex.cloud.required) = true];
       * @return The serviceAccountId.
       */
      public java.lang.String getServiceAccountId() {
        java.lang.Object ref = serviceAccountId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          serviceAccountId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 8 [(.yandex.cloud.required) = true];
       * @return The bytes for serviceAccountId.
       */
      public com.google.protobuf.ByteString
          getServiceAccountIdBytes() {
        java.lang.Object ref = serviceAccountId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          serviceAccountId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 8 [(.yandex.cloud.required) = true];
       * @param value The serviceAccountId to set.
       * @return This builder for chaining.
       */
      public Builder setServiceAccountId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        serviceAccountId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 8 [(.yandex.cloud.required) = true];
       * @return This builder for chaining.
       */
      public Builder clearServiceAccountId() {
        
        serviceAccountId_ = getDefaultInstance().getServiceAccountId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 8 [(.yandex.cloud.required) = true];
       * @param value The bytes for serviceAccountId to set.
       * @return This builder for chaining.
       */
      public Builder setServiceAccountIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        serviceAccountId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object bucket_ = "";
      /**
       * 
       * Name of the Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 9;
       * @return The bucket.
       */
      public java.lang.String getBucket() {
        java.lang.Object ref = bucket_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          bucket_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 9;
       * @return The bytes for bucket.
       */
      public com.google.protobuf.ByteString
          getBucketBytes() {
        java.lang.Object ref = bucket_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          bucket_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 9;
       * @param value The bucket to set.
       * @return This builder for chaining.
       */
      public Builder setBucket(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        bucket_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 9;
       * @return This builder for chaining.
       */
      public Builder clearBucket() {
        
        bucket_ = getDefaultInstance().getBucket();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 9;
       * @param value The bytes for bucket to set.
       * @return This builder for chaining.
       */
      public Builder setBucketBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        bucket_ = value;
        onChanged();
        return this;
      }
      private boolean uiProxy_ ;
      /**
       * 
       * Enable UI Proxy feature.
       * 
       *
       * bool ui_proxy = 10;
       * @return The uiProxy.
       */
      @java.lang.Override
      public boolean getUiProxy() {
        return uiProxy_;
      }
      /**
       * 
       * Enable UI Proxy feature.
       * 
       *
       * bool ui_proxy = 10;
       * @param value The uiProxy to set.
       * @return This builder for chaining.
       */
      public Builder setUiProxy(boolean value) {
        
        uiProxy_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Enable UI Proxy feature.
       * 
       *
       * bool ui_proxy = 10;
       * @return This builder for chaining.
       */
      public Builder clearUiProxy() {
        
        uiProxy_ = false;
        onChanged();
        return this;
      }
      private com.google.protobuf.LazyStringList securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSecurityGroupIdsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          securityGroupIds_ = new com.google.protobuf.LazyStringArrayList(securityGroupIds_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @return A list containing the securityGroupIds.
       */
      public com.google.protobuf.ProtocolStringList
          getSecurityGroupIdsList() {
        return securityGroupIds_.getUnmodifiableView();
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @return The count of securityGroupIds.
       */
      public int getSecurityGroupIdsCount() {
        return securityGroupIds_.size();
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param index The index of the element to return.
       * @return The securityGroupIds at the given index.
       */
      public java.lang.String getSecurityGroupIds(int index) {
        return securityGroupIds_.get(index);
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param index The index of the value to return.
       * @return The bytes of the securityGroupIds at the given index.
       */
      public com.google.protobuf.ByteString
          getSecurityGroupIdsBytes(int index) {
        return securityGroupIds_.getByteString(index);
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param index The index to set the value at.
       * @param value The securityGroupIds to set.
       * @return This builder for chaining.
       */
      public Builder setSecurityGroupIds(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSecurityGroupIdsIsMutable();
        securityGroupIds_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param value The securityGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addSecurityGroupIds(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSecurityGroupIdsIsMutable();
        securityGroupIds_.add(value);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param values The securityGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllSecurityGroupIds(
          java.lang.Iterable values) {
        ensureSecurityGroupIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, securityGroupIds_);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @return This builder for chaining.
       */
      public Builder clearSecurityGroupIds() {
        securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param value The bytes of the securityGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addSecurityGroupIdsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSecurityGroupIdsIsMutable();
        securityGroupIds_.add(value);
        onChanged();
        return this;
      }
      private com.google.protobuf.LazyStringList hostGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureHostGroupIdsIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          hostGroupIds_ = new com.google.protobuf.LazyStringArrayList(hostGroupIds_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @return A list containing the hostGroupIds.
       */
      public com.google.protobuf.ProtocolStringList
          getHostGroupIdsList() {
        return hostGroupIds_.getUnmodifiableView();
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @return The count of hostGroupIds.
       */
      public int getHostGroupIdsCount() {
        return hostGroupIds_.size();
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @param index The index of the element to return.
       * @return The hostGroupIds at the given index.
       */
      public java.lang.String getHostGroupIds(int index) {
        return hostGroupIds_.get(index);
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @param index The index of the value to return.
       * @return The bytes of the hostGroupIds at the given index.
       */
      public com.google.protobuf.ByteString
          getHostGroupIdsBytes(int index) {
        return hostGroupIds_.getByteString(index);
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @param index The index to set the value at.
       * @param value The hostGroupIds to set.
       * @return This builder for chaining.
       */
      public Builder setHostGroupIds(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureHostGroupIdsIsMutable();
        hostGroupIds_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @param value The hostGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addHostGroupIds(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureHostGroupIdsIsMutable();
        hostGroupIds_.add(value);
        onChanged();
        return this;
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @param values The hostGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllHostGroupIds(
          java.lang.Iterable values) {
        ensureHostGroupIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, hostGroupIds_);
        onChanged();
        return this;
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @return This builder for chaining.
       */
      public Builder clearHostGroupIds() {
        hostGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * 
       * Host groups to place VMs of cluster on.
       * 
       *
       * repeated string host_group_ids = 12;
       * @param value The bytes of the hostGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addHostGroupIdsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureHostGroupIdsIsMutable();
        hostGroupIds_.add(value);
        onChanged();
        return this;
      }
      private boolean deletionProtection_ ;
      /**
       * 
       * Deletion Protection inhibits deletion of the cluster
       * 
       *
       * bool deletion_protection = 13;
       * @return The deletionProtection.
       */
      @java.lang.Override
      public boolean getDeletionProtection() {
        return deletionProtection_;
      }
      /**
       * 
       * Deletion Protection inhibits deletion of the cluster
       * 
       *
       * bool deletion_protection = 13;
       * @param value The deletionProtection to set.
       * @return This builder for chaining.
       */
      public Builder setDeletionProtection(boolean value) {
        
        deletionProtection_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Deletion Protection inhibits deletion of the cluster
       * 
       *
       * bool deletion_protection = 13;
       * @return This builder for chaining.
       */
      public Builder clearDeletionProtection() {
        
        deletionProtection_ = false;
        onChanged();
        return this;
      }
      private java.lang.Object logGroupId_ = "";
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 14;
       * @return The logGroupId.
       */
      public java.lang.String getLogGroupId() {
        java.lang.Object ref = logGroupId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          logGroupId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 14;
       * @return The bytes for logGroupId.
       */
      public com.google.protobuf.ByteString
          getLogGroupIdBytes() {
        java.lang.Object ref = logGroupId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          logGroupId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 14;
       * @param value The logGroupId to set.
       * @return This builder for chaining.
       */
      public Builder setLogGroupId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        logGroupId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 14;
       * @return This builder for chaining.
       */
      public Builder clearLogGroupId() {
        
        logGroupId_ = getDefaultInstance().getLogGroupId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 14;
       * @param value The bytes for logGroupId to set.
       * @return This builder for chaining.
       */
      public Builder setLogGroupIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        logGroupId_ = value;
        onChanged();
        return this;
      }
      @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.dataproc.v1.CreateClusterRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.CreateClusterRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CreateClusterRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateClusterRequest(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.dataproc.v1.ClusterServiceOuterClass.CreateClusterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface CreateClusterMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.CreateClusterMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster that is being created.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the cluster that is being created.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.CreateClusterMetadata}
   */
  public static final class CreateClusterMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.CreateClusterMetadata)
      CreateClusterMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateClusterMetadata.newBuilder() to construct.
    private CreateClusterMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private CreateClusterMetadata() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateClusterMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateClusterMetadata(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster that is being created.
     * 
     *
     * 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 cluster that is being created.
     * 
     *
     * 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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata 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.dataproc.v1.CreateClusterMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.CreateClusterMetadata)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster that is being created.
       * 
       *
       * 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 cluster that is being created.
       * 
       *
       * 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 cluster that is being created.
       * 
       *
       * 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 cluster that is being created.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cluster that is being created.
       * 
       *
       * 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;
      }
      @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.dataproc.v1.CreateClusterMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.CreateClusterMetadata)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CreateClusterMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateClusterMetadata(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.dataproc.v1.ClusterServiceOuterClass.CreateClusterMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface UpdateClusterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.UpdateClusterRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster to update.
     * To get the cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the cluster to update.
     * To get the cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
    /**
     * 
     * Field mask that specifies which attributes of the cluster should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 2;
     * @return Whether the updateMask field is set.
     */
    boolean hasUpdateMask();
    /**
     * 
     * Field mask that specifies which attributes of the cluster should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 2;
     * @return The updateMask.
     */
    com.google.protobuf.FieldMask getUpdateMask();
    /**
     * 
     * Field mask that specifies which attributes of the cluster should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 2;
     */
    com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder();
    /**
     * 
     * New description for the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The description.
     */
    java.lang.String getDescription();
    /**
     * 
     * New description for the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The bytes for description.
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    int getLabelsCount();
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    boolean containsLabels(
        java.lang.String key);
    /**
     * Use {@link #getLabelsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getLabels();
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    java.util.Map
    getLabelsMap();
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    java.lang.String getLabelsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    java.lang.String getLabelsOrThrow(
        java.lang.String key);
    /**
     * 
     * Configuration and resources for hosts that should be created with the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
     * @return Whether the configSpec field is set.
     */
    boolean hasConfigSpec();
    /**
     * 
     * Configuration and resources for hosts that should be created with the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
     * @return The configSpec.
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec getConfigSpec();
    /**
     * 
     * Configuration and resources for hosts that should be created with the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpecOrBuilder getConfigSpecOrBuilder();
    /**
     * 
     * New name for the Data Proc cluster. The name must be unique within the folder.
     * 
     *
     * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    java.lang.String getName();
    /**
     * 
     * New name for the Data Proc cluster. The name must be unique within the folder.
     * 
     *
     * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
    /**
     * 
     * ID of the new service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 7;
     * @return The serviceAccountId.
     */
    java.lang.String getServiceAccountId();
    /**
     * 
     * ID of the new service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 7;
     * @return The bytes for serviceAccountId.
     */
    com.google.protobuf.ByteString
        getServiceAccountIdBytes();
    /**
     * 
     * Name of the new Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 8;
     * @return The bucket.
     */
    java.lang.String getBucket();
    /**
     * 
     * Name of the new Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 8;
     * @return The bytes for bucket.
     */
    com.google.protobuf.ByteString
        getBucketBytes();
    /**
     * 
     * Timeout to gracefully decommission nodes. In seconds. Default value: 0
     * 
     *
     * int64 decommission_timeout = 9 [(.yandex.cloud.value) = "0-86400"];
     * @return The decommissionTimeout.
     */
    long getDecommissionTimeout();
    /**
     * 
     * Enable UI Proxy feature.
     * 
     *
     * bool ui_proxy = 10;
     * @return The uiProxy.
     */
    boolean getUiProxy();
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return A list containing the securityGroupIds.
     */
    java.util.List
        getSecurityGroupIdsList();
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return The count of securityGroupIds.
     */
    int getSecurityGroupIdsCount();
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the element to return.
     * @return The securityGroupIds at the given index.
     */
    java.lang.String getSecurityGroupIds(int index);
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the value to return.
     * @return The bytes of the securityGroupIds at the given index.
     */
    com.google.protobuf.ByteString
        getSecurityGroupIdsBytes(int index);
    /**
     * 
     * Deletion Protection inhibits deletion of the cluster
     * 
     *
     * bool deletion_protection = 12;
     * @return The deletionProtection.
     */
    boolean getDeletionProtection();
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 13;
     * @return The logGroupId.
     */
    java.lang.String getLogGroupId();
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 13;
     * @return The bytes for logGroupId.
     */
    com.google.protobuf.ByteString
        getLogGroupIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.UpdateClusterRequest}
   */
  public static final class UpdateClusterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.UpdateClusterRequest)
      UpdateClusterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UpdateClusterRequest.newBuilder() to construct.
    private UpdateClusterRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private UpdateClusterRequest() {
      clusterId_ = "";
      description_ = "";
      name_ = "";
      serviceAccountId_ = "";
      bucket_ = "";
      securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      logGroupId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UpdateClusterRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UpdateClusterRequest(
        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: {
              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 26: {
              java.lang.String s = input.readStringRequireUtf8();
              description_ = s;
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                labels_ = com.google.protobuf.MapField.newMapField(
                    LabelsDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              labels__ = input.readMessage(
                  LabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              labels_.getMutableMap().put(
                  labels__.getKey(), labels__.getValue());
              break;
            }
            case 42: {
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder subBuilder = null;
              if (configSpec_ != null) {
                subBuilder = configSpec_.toBuilder();
              }
              configSpec_ = input.readMessage(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(configSpec_);
                configSpec_ = subBuilder.buildPartial();
              }
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();
              name_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();
              serviceAccountId_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();
              bucket_ = s;
              break;
            }
            case 72: {
              decommissionTimeout_ = input.readInt64();
              break;
            }
            case 80: {
              uiProxy_ = input.readBool();
              break;
            }
            case 90: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                securityGroupIds_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              securityGroupIds_.add(s);
              break;
            }
            case 96: {
              deletionProtection_ = input.readBool();
              break;
            }
            case 106: {
              java.lang.String s = input.readStringRequireUtf8();
              logGroupId_ = 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_ & 0x00000002) != 0)) {
          securityGroupIds_ = securityGroupIds_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_descriptor;
    }
    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 4:
          return internalGetLabels();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster to update.
     * To get the cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.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 update.
     * To get the cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.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 UPDATE_MASK_FIELD_NUMBER = 2;
    private com.google.protobuf.FieldMask updateMask_;
    /**
     * 
     * Field mask that specifies which attributes of the cluster should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 2;
     * @return Whether the updateMask field is set.
     */
    @java.lang.Override
    public boolean hasUpdateMask() {
      return updateMask_ != null;
    }
    /**
     * 
     * Field mask that specifies which attributes of the cluster should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 2;
     * @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 attributes of the cluster should be updated.
     * 
     *
     * .google.protobuf.FieldMask update_mask = 2;
     */
    @java.lang.Override
    public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() {
      return getUpdateMask();
    }
    public static final int DESCRIPTION_FIELD_NUMBER = 3;
    private volatile java.lang.Object description_;
    /**
     * 
     * New description for the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The description.
     */
    @java.lang.Override
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        description_ = s;
        return s;
      }
    }
    /**
     * 
     * New description for the cluster.
     * 
     *
     * string description = 3 [(.yandex.cloud.length) = "<=256"];
     * @return The bytes for description.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int LABELS_FIELD_NUMBER = 4;
    private static final class LabelsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_LabelsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> labels_;
    private com.google.protobuf.MapField
    internalGetLabels() {
      if (labels_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            LabelsDefaultEntryHolder.defaultEntry);
      }
      return labels_;
    }
    public int getLabelsCount() {
      return internalGetLabels().getMap().size();
    }
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public boolean containsLabels(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetLabels().getMap().containsKey(key);
    }
    /**
     * Use {@link #getLabelsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getLabels() {
      return getLabelsMap();
    }
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public java.util.Map getLabelsMap() {
      return internalGetLabels().getMap();
    }
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public java.lang.String getLabelsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetLabels().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * 
     * A new set of cluster labels as `key:value` pairs.
     * 
     *
     * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
     */
    @java.lang.Override
    public java.lang.String getLabelsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetLabels().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }
    public static final int CONFIG_SPEC_FIELD_NUMBER = 5;
    private yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec configSpec_;
    /**
     * 
     * Configuration and resources for hosts that should be created with the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
     * @return Whether the configSpec field is set.
     */
    @java.lang.Override
    public boolean hasConfigSpec() {
      return configSpec_ != null;
    }
    /**
     * 
     * Configuration and resources for hosts that should be created with the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
     * @return The configSpec.
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec getConfigSpec() {
      return configSpec_ == null ? yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.getDefaultInstance() : configSpec_;
    }
    /**
     * 
     * Configuration and resources for hosts that should be created with the Data Proc cluster.
     * 
     *
     * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpecOrBuilder getConfigSpecOrBuilder() {
      return getConfigSpec();
    }
    public static final int NAME_FIELD_NUMBER = 6;
    private volatile java.lang.Object name_;
    /**
     * 
     * New name for the Data Proc cluster. The name must be unique within the folder.
     * 
     *
     * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * 
     * New name for the Data Proc cluster. The name must be unique within the folder.
     * 
     *
     * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int SERVICE_ACCOUNT_ID_FIELD_NUMBER = 7;
    private volatile java.lang.Object serviceAccountId_;
    /**
     * 
     * ID of the new service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 7;
     * @return The serviceAccountId.
     */
    @java.lang.Override
    public java.lang.String getServiceAccountId() {
      java.lang.Object ref = serviceAccountId_;
      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();
        serviceAccountId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the new service account to be used by the Data Proc manager agent.
     * 
     *
     * string service_account_id = 7;
     * @return The bytes for serviceAccountId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getServiceAccountIdBytes() {
      java.lang.Object ref = serviceAccountId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        serviceAccountId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int BUCKET_FIELD_NUMBER = 8;
    private volatile java.lang.Object bucket_;
    /**
     * 
     * Name of the new Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 8;
     * @return The bucket.
     */
    @java.lang.Override
    public java.lang.String getBucket() {
      java.lang.Object ref = bucket_;
      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();
        bucket_ = s;
        return s;
      }
    }
    /**
     * 
     * Name of the new Object Storage bucket to use for Data Proc jobs.
     * 
     *
     * string bucket = 8;
     * @return The bytes for bucket.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getBucketBytes() {
      java.lang.Object ref = bucket_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        bucket_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int DECOMMISSION_TIMEOUT_FIELD_NUMBER = 9;
    private long decommissionTimeout_;
    /**
     * 
     * Timeout to gracefully decommission nodes. In seconds. Default value: 0
     * 
     *
     * int64 decommission_timeout = 9 [(.yandex.cloud.value) = "0-86400"];
     * @return The decommissionTimeout.
     */
    @java.lang.Override
    public long getDecommissionTimeout() {
      return decommissionTimeout_;
    }
    public static final int UI_PROXY_FIELD_NUMBER = 10;
    private boolean uiProxy_;
    /**
     * 
     * Enable UI Proxy feature.
     * 
     *
     * bool ui_proxy = 10;
     * @return The uiProxy.
     */
    @java.lang.Override
    public boolean getUiProxy() {
      return uiProxy_;
    }
    public static final int SECURITY_GROUP_IDS_FIELD_NUMBER = 11;
    private com.google.protobuf.LazyStringList securityGroupIds_;
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return A list containing the securityGroupIds.
     */
    public com.google.protobuf.ProtocolStringList
        getSecurityGroupIdsList() {
      return securityGroupIds_;
    }
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @return The count of securityGroupIds.
     */
    public int getSecurityGroupIdsCount() {
      return securityGroupIds_.size();
    }
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the element to return.
     * @return The securityGroupIds at the given index.
     */
    public java.lang.String getSecurityGroupIds(int index) {
      return securityGroupIds_.get(index);
    }
    /**
     * 
     * User security groups.
     * 
     *
     * repeated string security_group_ids = 11;
     * @param index The index of the value to return.
     * @return The bytes of the securityGroupIds at the given index.
     */
    public com.google.protobuf.ByteString
        getSecurityGroupIdsBytes(int index) {
      return securityGroupIds_.getByteString(index);
    }
    public static final int DELETION_PROTECTION_FIELD_NUMBER = 12;
    private boolean deletionProtection_;
    /**
     * 
     * Deletion Protection inhibits deletion of the cluster
     * 
     *
     * bool deletion_protection = 12;
     * @return The deletionProtection.
     */
    @java.lang.Override
    public boolean getDeletionProtection() {
      return deletionProtection_;
    }
    public static final int LOG_GROUP_ID_FIELD_NUMBER = 13;
    private volatile java.lang.Object logGroupId_;
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 13;
     * @return The logGroupId.
     */
    @java.lang.Override
    public java.lang.String getLogGroupId() {
      java.lang.Object ref = logGroupId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        logGroupId_ = s;
        return s;
      }
    }
    /**
     * 
     * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
     * 
     *
     * string log_group_id = 13;
     * @return The bytes for logGroupId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLogGroupIdBytes() {
      java.lang.Object ref = logGroupId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        logGroupId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    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 (updateMask_ != null) {
        output.writeMessage(2, getUpdateMask());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetLabels(),
          LabelsDefaultEntryHolder.defaultEntry,
          4);
      if (configSpec_ != null) {
        output.writeMessage(5, getConfigSpec());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, serviceAccountId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(bucket_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, bucket_);
      }
      if (decommissionTimeout_ != 0L) {
        output.writeInt64(9, decommissionTimeout_);
      }
      if (uiProxy_ != false) {
        output.writeBool(10, uiProxy_);
      }
      for (int i = 0; i < securityGroupIds_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, securityGroupIds_.getRaw(i));
      }
      if (deletionProtection_ != false) {
        output.writeBool(12, deletionProtection_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logGroupId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 13, logGroupId_);
      }
      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 (updateMask_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getUpdateMask());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
      }
      for (java.util.Map.Entry entry
           : internalGetLabels().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        labels__ = LabelsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, labels__);
      }
      if (configSpec_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getConfigSpec());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, serviceAccountId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(bucket_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, bucket_);
      }
      if (decommissionTimeout_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(9, decommissionTimeout_);
      }
      if (uiProxy_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, uiProxy_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < securityGroupIds_.size(); i++) {
          dataSize += computeStringSizeNoTag(securityGroupIds_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSecurityGroupIdsList().size();
      }
      if (deletionProtection_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(12, deletionProtection_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logGroupId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, logGroupId_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (hasUpdateMask() != other.hasUpdateMask()) return false;
      if (hasUpdateMask()) {
        if (!getUpdateMask()
            .equals(other.getUpdateMask())) return false;
      }
      if (!getDescription()
          .equals(other.getDescription())) return false;
      if (!internalGetLabels().equals(
          other.internalGetLabels())) return false;
      if (hasConfigSpec() != other.hasConfigSpec()) return false;
      if (hasConfigSpec()) {
        if (!getConfigSpec()
            .equals(other.getConfigSpec())) return false;
      }
      if (!getName()
          .equals(other.getName())) return false;
      if (!getServiceAccountId()
          .equals(other.getServiceAccountId())) return false;
      if (!getBucket()
          .equals(other.getBucket())) return false;
      if (getDecommissionTimeout()
          != other.getDecommissionTimeout()) return false;
      if (getUiProxy()
          != other.getUiProxy()) return false;
      if (!getSecurityGroupIdsList()
          .equals(other.getSecurityGroupIdsList())) return false;
      if (getDeletionProtection()
          != other.getDeletionProtection()) return false;
      if (!getLogGroupId()
          .equals(other.getLogGroupId())) 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 (hasUpdateMask()) {
        hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER;
        hash = (53 * hash) + getUpdateMask().hashCode();
      }
      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
      hash = (53 * hash) + getDescription().hashCode();
      if (!internalGetLabels().getMap().isEmpty()) {
        hash = (37 * hash) + LABELS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetLabels().hashCode();
      }
      if (hasConfigSpec()) {
        hash = (37 * hash) + CONFIG_SPEC_FIELD_NUMBER;
        hash = (53 * hash) + getConfigSpec().hashCode();
      }
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + SERVICE_ACCOUNT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getServiceAccountId().hashCode();
      hash = (37 * hash) + BUCKET_FIELD_NUMBER;
      hash = (53 * hash) + getBucket().hashCode();
      hash = (37 * hash) + DECOMMISSION_TIMEOUT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getDecommissionTimeout());
      hash = (37 * hash) + UI_PROXY_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getUiProxy());
      if (getSecurityGroupIdsCount() > 0) {
        hash = (37 * hash) + SECURITY_GROUP_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getSecurityGroupIdsList().hashCode();
      }
      hash = (37 * hash) + DELETION_PROTECTION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getDeletionProtection());
      hash = (37 * hash) + LOG_GROUP_ID_FIELD_NUMBER;
      hash = (53 * hash) + getLogGroupId().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest 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.dataproc.v1.UpdateClusterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.UpdateClusterRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_descriptor;
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetLabels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetMutableLabels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest.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 (updateMaskBuilder_ == null) {
          updateMask_ = null;
        } else {
          updateMask_ = null;
          updateMaskBuilder_ = null;
        }
        description_ = "";
        internalGetMutableLabels().clear();
        if (configSpecBuilder_ == null) {
          configSpec_ = null;
        } else {
          configSpec_ = null;
          configSpecBuilder_ = null;
        }
        name_ = "";
        serviceAccountId_ = "";
        bucket_ = "";
        decommissionTimeout_ = 0L;
        uiProxy_ = false;
        securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        deletionProtection_ = false;
        logGroupId_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest(this);
        int from_bitField0_ = bitField0_;
        result.clusterId_ = clusterId_;
        if (updateMaskBuilder_ == null) {
          result.updateMask_ = updateMask_;
        } else {
          result.updateMask_ = updateMaskBuilder_.build();
        }
        result.description_ = description_;
        result.labels_ = internalGetLabels();
        result.labels_.makeImmutable();
        if (configSpecBuilder_ == null) {
          result.configSpec_ = configSpec_;
        } else {
          result.configSpec_ = configSpecBuilder_.build();
        }
        result.name_ = name_;
        result.serviceAccountId_ = serviceAccountId_;
        result.bucket_ = bucket_;
        result.decommissionTimeout_ = decommissionTimeout_;
        result.uiProxy_ = uiProxy_;
        if (((bitField0_ & 0x00000002) != 0)) {
          securityGroupIds_ = securityGroupIds_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.securityGroupIds_ = securityGroupIds_;
        result.deletionProtection_ = deletionProtection_;
        result.logGroupId_ = logGroupId_;
        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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (other.hasUpdateMask()) {
          mergeUpdateMask(other.getUpdateMask());
        }
        if (!other.getDescription().isEmpty()) {
          description_ = other.description_;
          onChanged();
        }
        internalGetMutableLabels().mergeFrom(
            other.internalGetLabels());
        if (other.hasConfigSpec()) {
          mergeConfigSpec(other.getConfigSpec());
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (!other.getServiceAccountId().isEmpty()) {
          serviceAccountId_ = other.serviceAccountId_;
          onChanged();
        }
        if (!other.getBucket().isEmpty()) {
          bucket_ = other.bucket_;
          onChanged();
        }
        if (other.getDecommissionTimeout() != 0L) {
          setDecommissionTimeout(other.getDecommissionTimeout());
        }
        if (other.getUiProxy() != false) {
          setUiProxy(other.getUiProxy());
        }
        if (!other.securityGroupIds_.isEmpty()) {
          if (securityGroupIds_.isEmpty()) {
            securityGroupIds_ = other.securityGroupIds_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureSecurityGroupIdsIsMutable();
            securityGroupIds_.addAll(other.securityGroupIds_);
          }
          onChanged();
        }
        if (other.getDeletionProtection() != false) {
          setDeletionProtection(other.getDeletionProtection());
        }
        if (!other.getLogGroupId().isEmpty()) {
          logGroupId_ = other.logGroupId_;
          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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster to update.
       * To get the cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 update.
       * To get the cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 update.
       * To get the cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 update.
       * To get the cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cluster to update.
       * To get the cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 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 attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       * @return Whether the updateMask field is set.
       */
      public boolean hasUpdateMask() {
        return updateMaskBuilder_ != null || updateMask_ != null;
      }
      /**
       * 
       * Field mask that specifies which attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       * @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 attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       */
      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 attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       */
      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 attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       */
      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 attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       */
      public Builder clearUpdateMask() {
        if (updateMaskBuilder_ == null) {
          updateMask_ = null;
          onChanged();
        } else {
          updateMask_ = null;
          updateMaskBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Field mask that specifies which attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       */
      public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() {
        
        onChanged();
        return getUpdateMaskFieldBuilder().getBuilder();
      }
      /**
       * 
       * Field mask that specifies which attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       */
      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 attributes of the cluster should be updated.
       * 
       *
       * .google.protobuf.FieldMask update_mask = 2;
       */
      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 description_ = "";
      /**
       * 
       * New description for the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @return The description.
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          description_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * New description for the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @return The bytes for description.
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * New description for the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @param value The description to set.
       * @return This builder for chaining.
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        description_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * New description for the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @return This builder for chaining.
       */
      public Builder clearDescription() {
        
        description_ = getDefaultInstance().getDescription();
        onChanged();
        return this;
      }
      /**
       * 
       * New description for the cluster.
       * 
       *
       * string description = 3 [(.yandex.cloud.length) = "<=256"];
       * @param value The bytes for description to set.
       * @return This builder for chaining.
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        description_ = value;
        onChanged();
        return this;
      }
      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> labels_;
      private com.google.protobuf.MapField
      internalGetLabels() {
        if (labels_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              LabelsDefaultEntryHolder.defaultEntry);
        }
        return labels_;
      }
      private com.google.protobuf.MapField
      internalGetMutableLabels() {
        onChanged();;
        if (labels_ == null) {
          labels_ = com.google.protobuf.MapField.newMapField(
              LabelsDefaultEntryHolder.defaultEntry);
        }
        if (!labels_.isMutable()) {
          labels_ = labels_.copy();
        }
        return labels_;
      }
      public int getLabelsCount() {
        return internalGetLabels().getMap().size();
      }
      /**
       * 
       * A new set of cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public boolean containsLabels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetLabels().getMap().containsKey(key);
      }
      /**
       * Use {@link #getLabelsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getLabels() {
        return getLabelsMap();
      }
      /**
       * 
       * A new set of cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public java.util.Map getLabelsMap() {
        return internalGetLabels().getMap();
      }
      /**
       * 
       * A new set of cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public java.lang.String getLabelsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map map =
            internalGetLabels().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * 
       * A new set of cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      @java.lang.Override
      public java.lang.String getLabelsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map map =
            internalGetLabels().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }
      public Builder clearLabels() {
        internalGetMutableLabels().getMutableMap()
            .clear();
        return this;
      }
      /**
       * 
       * A new set of cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      public Builder removeLabels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableLabels().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableLabels() {
        return internalGetMutableLabels().getMutableMap();
      }
      /**
       * 
       * A new set of cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      public Builder putLabels(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}
        internalGetMutableLabels().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * 
       * A new set of cluster labels as `key:value` pairs.
       * 
       *
       * map<string, string> labels = 4 [(.yandex.cloud.pattern) = "[-_0-9a-z]*", (.yandex.cloud.size) = "<=64", (.yandex.cloud.length) = "<=63", (.yandex.cloud.map_key) = { ... }
       */
      public Builder putAllLabels(
          java.util.Map values) {
        internalGetMutableLabels().getMutableMap()
            .putAll(values);
        return this;
      }
      private yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec configSpec_;
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpecOrBuilder> configSpecBuilder_;
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       * @return Whether the configSpec field is set.
       */
      public boolean hasConfigSpec() {
        return configSpecBuilder_ != null || configSpec_ != null;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       * @return The configSpec.
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec getConfigSpec() {
        if (configSpecBuilder_ == null) {
          return configSpec_ == null ? yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.getDefaultInstance() : configSpec_;
        } else {
          return configSpecBuilder_.getMessage();
        }
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       */
      public Builder setConfigSpec(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec value) {
        if (configSpecBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          configSpec_ = value;
          onChanged();
        } else {
          configSpecBuilder_.setMessage(value);
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       */
      public Builder setConfigSpec(
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder builderForValue) {
        if (configSpecBuilder_ == null) {
          configSpec_ = builderForValue.build();
          onChanged();
        } else {
          configSpecBuilder_.setMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       */
      public Builder mergeConfigSpec(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec value) {
        if (configSpecBuilder_ == null) {
          if (configSpec_ != null) {
            configSpec_ =
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.newBuilder(configSpec_).mergeFrom(value).buildPartial();
          } else {
            configSpec_ = value;
          }
          onChanged();
        } else {
          configSpecBuilder_.mergeFrom(value);
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       */
      public Builder clearConfigSpec() {
        if (configSpecBuilder_ == null) {
          configSpec_ = null;
          onChanged();
        } else {
          configSpec_ = null;
          configSpecBuilder_ = null;
        }
        return this;
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder getConfigSpecBuilder() {
        
        onChanged();
        return getConfigSpecFieldBuilder().getBuilder();
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpecOrBuilder getConfigSpecOrBuilder() {
        if (configSpecBuilder_ != null) {
          return configSpecBuilder_.getMessageOrBuilder();
        } else {
          return configSpec_ == null ?
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.getDefaultInstance() : configSpec_;
        }
      }
      /**
       * 
       * Configuration and resources for hosts that should be created with the Data Proc cluster.
       * 
       *
       * .yandex.cloud.dataproc.v1.UpdateClusterConfigSpec config_spec = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpecOrBuilder> 
          getConfigSpecFieldBuilder() {
        if (configSpecBuilder_ == null) {
          configSpecBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpec.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterConfigSpecOrBuilder>(
                  getConfigSpec(),
                  getParentForChildren(),
                  isClean());
          configSpec_ = null;
        }
        return configSpecBuilder_;
      }
      private java.lang.Object name_ = "";
      /**
       * 
       * New name for the Data Proc cluster. The name must be unique within the folder.
       * 
       *
       * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * New name for the Data Proc cluster. The name must be unique within the folder.
       * 
       *
       * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * New name for the Data Proc cluster. The name must be unique within the folder.
       * 
       *
       * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * New name for the Data Proc cluster. The name must be unique within the folder.
       * 
       *
       * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * 
       * New name for the Data Proc cluster. The name must be unique within the folder.
       * 
       *
       * string name = 6 [(.yandex.cloud.pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"];
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object serviceAccountId_ = "";
      /**
       * 
       * ID of the new service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 7;
       * @return The serviceAccountId.
       */
      public java.lang.String getServiceAccountId() {
        java.lang.Object ref = serviceAccountId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          serviceAccountId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the new service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 7;
       * @return The bytes for serviceAccountId.
       */
      public com.google.protobuf.ByteString
          getServiceAccountIdBytes() {
        java.lang.Object ref = serviceAccountId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          serviceAccountId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the new service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 7;
       * @param value The serviceAccountId to set.
       * @return This builder for chaining.
       */
      public Builder setServiceAccountId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        serviceAccountId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the new service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 7;
       * @return This builder for chaining.
       */
      public Builder clearServiceAccountId() {
        
        serviceAccountId_ = getDefaultInstance().getServiceAccountId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the new service account to be used by the Data Proc manager agent.
       * 
       *
       * string service_account_id = 7;
       * @param value The bytes for serviceAccountId to set.
       * @return This builder for chaining.
       */
      public Builder setServiceAccountIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        serviceAccountId_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object bucket_ = "";
      /**
       * 
       * Name of the new Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 8;
       * @return The bucket.
       */
      public java.lang.String getBucket() {
        java.lang.Object ref = bucket_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          bucket_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * Name of the new Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 8;
       * @return The bytes for bucket.
       */
      public com.google.protobuf.ByteString
          getBucketBytes() {
        java.lang.Object ref = bucket_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          bucket_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * Name of the new Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 8;
       * @param value The bucket to set.
       * @return This builder for chaining.
       */
      public Builder setBucket(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        bucket_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the new Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 8;
       * @return This builder for chaining.
       */
      public Builder clearBucket() {
        
        bucket_ = getDefaultInstance().getBucket();
        onChanged();
        return this;
      }
      /**
       * 
       * Name of the new Object Storage bucket to use for Data Proc jobs.
       * 
       *
       * string bucket = 8;
       * @param value The bytes for bucket to set.
       * @return This builder for chaining.
       */
      public Builder setBucketBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        bucket_ = value;
        onChanged();
        return this;
      }
      private long decommissionTimeout_ ;
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 9 [(.yandex.cloud.value) = "0-86400"];
       * @return The decommissionTimeout.
       */
      @java.lang.Override
      public long getDecommissionTimeout() {
        return decommissionTimeout_;
      }
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 9 [(.yandex.cloud.value) = "0-86400"];
       * @param value The decommissionTimeout to set.
       * @return This builder for chaining.
       */
      public Builder setDecommissionTimeout(long value) {
        
        decommissionTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 9 [(.yandex.cloud.value) = "0-86400"];
       * @return This builder for chaining.
       */
      public Builder clearDecommissionTimeout() {
        
        decommissionTimeout_ = 0L;
        onChanged();
        return this;
      }
      private boolean uiProxy_ ;
      /**
       * 
       * Enable UI Proxy feature.
       * 
       *
       * bool ui_proxy = 10;
       * @return The uiProxy.
       */
      @java.lang.Override
      public boolean getUiProxy() {
        return uiProxy_;
      }
      /**
       * 
       * Enable UI Proxy feature.
       * 
       *
       * bool ui_proxy = 10;
       * @param value The uiProxy to set.
       * @return This builder for chaining.
       */
      public Builder setUiProxy(boolean value) {
        
        uiProxy_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Enable UI Proxy feature.
       * 
       *
       * bool ui_proxy = 10;
       * @return This builder for chaining.
       */
      public Builder clearUiProxy() {
        
        uiProxy_ = false;
        onChanged();
        return this;
      }
      private com.google.protobuf.LazyStringList securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSecurityGroupIdsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          securityGroupIds_ = new com.google.protobuf.LazyStringArrayList(securityGroupIds_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @return A list containing the securityGroupIds.
       */
      public com.google.protobuf.ProtocolStringList
          getSecurityGroupIdsList() {
        return securityGroupIds_.getUnmodifiableView();
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @return The count of securityGroupIds.
       */
      public int getSecurityGroupIdsCount() {
        return securityGroupIds_.size();
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param index The index of the element to return.
       * @return The securityGroupIds at the given index.
       */
      public java.lang.String getSecurityGroupIds(int index) {
        return securityGroupIds_.get(index);
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param index The index of the value to return.
       * @return The bytes of the securityGroupIds at the given index.
       */
      public com.google.protobuf.ByteString
          getSecurityGroupIdsBytes(int index) {
        return securityGroupIds_.getByteString(index);
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param index The index to set the value at.
       * @param value The securityGroupIds to set.
       * @return This builder for chaining.
       */
      public Builder setSecurityGroupIds(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSecurityGroupIdsIsMutable();
        securityGroupIds_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param value The securityGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addSecurityGroupIds(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSecurityGroupIdsIsMutable();
        securityGroupIds_.add(value);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param values The securityGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllSecurityGroupIds(
          java.lang.Iterable values) {
        ensureSecurityGroupIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, securityGroupIds_);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @return This builder for chaining.
       */
      public Builder clearSecurityGroupIds() {
        securityGroupIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * 
       * User security groups.
       * 
       *
       * repeated string security_group_ids = 11;
       * @param value The bytes of the securityGroupIds to add.
       * @return This builder for chaining.
       */
      public Builder addSecurityGroupIdsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSecurityGroupIdsIsMutable();
        securityGroupIds_.add(value);
        onChanged();
        return this;
      }
      private boolean deletionProtection_ ;
      /**
       * 
       * Deletion Protection inhibits deletion of the cluster
       * 
       *
       * bool deletion_protection = 12;
       * @return The deletionProtection.
       */
      @java.lang.Override
      public boolean getDeletionProtection() {
        return deletionProtection_;
      }
      /**
       * 
       * Deletion Protection inhibits deletion of the cluster
       * 
       *
       * bool deletion_protection = 12;
       * @param value The deletionProtection to set.
       * @return This builder for chaining.
       */
      public Builder setDeletionProtection(boolean value) {
        
        deletionProtection_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Deletion Protection inhibits deletion of the cluster
       * 
       *
       * bool deletion_protection = 12;
       * @return This builder for chaining.
       */
      public Builder clearDeletionProtection() {
        
        deletionProtection_ = false;
        onChanged();
        return this;
      }
      private java.lang.Object logGroupId_ = "";
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 13;
       * @return The logGroupId.
       */
      public java.lang.String getLogGroupId() {
        java.lang.Object ref = logGroupId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          logGroupId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 13;
       * @return The bytes for logGroupId.
       */
      public com.google.protobuf.ByteString
          getLogGroupIdBytes() {
        java.lang.Object ref = logGroupId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          logGroupId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 13;
       * @param value The logGroupId to set.
       * @return This builder for chaining.
       */
      public Builder setLogGroupId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        logGroupId_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 13;
       * @return This builder for chaining.
       */
      public Builder clearLogGroupId() {
        
        logGroupId_ = getDefaultInstance().getLogGroupId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cloud logging log group to write logs. If not set, logs will not be sent to logging service
       * 
       *
       * string log_group_id = 13;
       * @param value The bytes for logGroupId to set.
       * @return This builder for chaining.
       */
      public Builder setLogGroupIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        logGroupId_ = value;
        onChanged();
        return this;
      }
      @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.dataproc.v1.UpdateClusterRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.UpdateClusterRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public UpdateClusterRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new UpdateClusterRequest(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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface UpdateClusterMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.UpdateClusterMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster that is being updated.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the cluster that is being updated.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.UpdateClusterMetadata}
   */
  public static final class UpdateClusterMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.UpdateClusterMetadata)
      UpdateClusterMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UpdateClusterMetadata.newBuilder() to construct.
    private UpdateClusterMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private UpdateClusterMetadata() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UpdateClusterMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UpdateClusterMetadata(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster that is being updated.
     * 
     *
     * 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 cluster that is being updated.
     * 
     *
     * 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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata 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.dataproc.v1.UpdateClusterMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.UpdateClusterMetadata)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster that is being updated.
       * 
       *
       * 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 cluster that is being updated.
       * 
       *
       * 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 cluster that is being updated.
       * 
       *
       * 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 cluster that is being updated.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cluster that is being updated.
       * 
       *
       * 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;
      }
      @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.dataproc.v1.UpdateClusterMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.UpdateClusterMetadata)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public UpdateClusterMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new UpdateClusterMetadata(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.dataproc.v1.ClusterServiceOuterClass.UpdateClusterMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface DeleteClusterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.DeleteClusterRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster to delete.
     * To get a cluster ID, make 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 delete.
     * To get a cluster ID, make 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();
    /**
     * 
     * Timeout to gracefully decommission nodes. In seconds. Default value: 0
     * 
     *
     * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
     * @return The decommissionTimeout.
     */
    long getDecommissionTimeout();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.DeleteClusterRequest}
   */
  public static final class DeleteClusterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.DeleteClusterRequest)
      DeleteClusterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteClusterRequest.newBuilder() to construct.
    private DeleteClusterRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private DeleteClusterRequest() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DeleteClusterRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteClusterRequest(
        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: {
              decommissionTimeout_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster to delete.
     * To get a cluster ID, make 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 delete.
     * To get a cluster ID, make 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 DECOMMISSION_TIMEOUT_FIELD_NUMBER = 2;
    private long decommissionTimeout_;
    /**
     * 
     * Timeout to gracefully decommission nodes. In seconds. Default value: 0
     * 
     *
     * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
     * @return The decommissionTimeout.
     */
    @java.lang.Override
    public long getDecommissionTimeout() {
      return decommissionTimeout_;
    }
    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 (decommissionTimeout_ != 0L) {
        output.writeInt64(2, decommissionTimeout_);
      }
      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 (decommissionTimeout_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, decommissionTimeout_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (getDecommissionTimeout()
          != other.getDecommissionTimeout()) 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) + DECOMMISSION_TIMEOUT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getDecommissionTimeout());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest 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.dataproc.v1.DeleteClusterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.DeleteClusterRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest.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_ = "";
        decommissionTimeout_ = 0L;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest(this);
        result.clusterId_ = clusterId_;
        result.decommissionTimeout_ = decommissionTimeout_;
        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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (other.getDecommissionTimeout() != 0L) {
          setDecommissionTimeout(other.getDecommissionTimeout());
        }
        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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster to delete.
       * To get a cluster ID, make 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 delete.
       * To get a cluster ID, make 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 delete.
       * To get a cluster ID, make 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 delete.
       * To get a cluster ID, make 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 delete.
       * To get a cluster ID, make 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 decommissionTimeout_ ;
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
       * @return The decommissionTimeout.
       */
      @java.lang.Override
      public long getDecommissionTimeout() {
        return decommissionTimeout_;
      }
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
       * @param value The decommissionTimeout to set.
       * @return This builder for chaining.
       */
      public Builder setDecommissionTimeout(long value) {
        
        decommissionTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
       * @return This builder for chaining.
       */
      public Builder clearDecommissionTimeout() {
        
        decommissionTimeout_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }
      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }
      // @@protoc_insertion_point(builder_scope:yandex.cloud.dataproc.v1.DeleteClusterRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.DeleteClusterRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public DeleteClusterRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DeleteClusterRequest(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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface DeleteClusterMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.DeleteClusterMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the Data Proc cluster that is being deleted.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the Data Proc cluster that is being deleted.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.DeleteClusterMetadata}
   */
  public static final class DeleteClusterMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.DeleteClusterMetadata)
      DeleteClusterMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteClusterMetadata.newBuilder() to construct.
    private DeleteClusterMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private DeleteClusterMetadata() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DeleteClusterMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteClusterMetadata(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the Data Proc cluster that is being deleted.
     * 
     *
     * 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 Data Proc cluster that is being deleted.
     * 
     *
     * 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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata 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.dataproc.v1.DeleteClusterMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.DeleteClusterMetadata)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the Data Proc cluster that is being deleted.
       * 
       *
       * 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 Data Proc cluster that is being deleted.
       * 
       *
       * 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 Data Proc cluster that is being deleted.
       * 
       *
       * 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 Data Proc cluster that is being deleted.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the Data Proc cluster that is being deleted.
       * 
       *
       * 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;
      }
      @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.dataproc.v1.DeleteClusterMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.DeleteClusterMetadata)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public DeleteClusterMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DeleteClusterMetadata(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.dataproc.v1.ClusterServiceOuterClass.DeleteClusterMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface StartClusterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.StartClusterRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster to start.
     * To get a cluster ID, make 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 start.
     * To get a cluster ID, make 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();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.StartClusterRequest}
   */
  public static final class StartClusterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.StartClusterRequest)
      StartClusterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StartClusterRequest.newBuilder() to construct.
    private StartClusterRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private StartClusterRequest() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StartClusterRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StartClusterRequest(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster to start.
     * To get a cluster ID, make 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 start.
     * To get a cluster ID, make 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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest 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.dataproc.v1.StartClusterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.StartClusterRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster to start.
       * To get a cluster ID, make 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 start.
       * To get a cluster ID, make 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 start.
       * To get a cluster ID, make 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 start.
       * To get a cluster ID, make 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 start.
       * To get a cluster ID, make 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;
      }
      @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.dataproc.v1.StartClusterRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.StartClusterRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StartClusterRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StartClusterRequest(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.dataproc.v1.ClusterServiceOuterClass.StartClusterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface StartClusterMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.StartClusterMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the Data Proc cluster that is being started.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the Data Proc cluster that is being started.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.StartClusterMetadata}
   */
  public static final class StartClusterMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.StartClusterMetadata)
      StartClusterMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StartClusterMetadata.newBuilder() to construct.
    private StartClusterMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private StartClusterMetadata() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StartClusterMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StartClusterMetadata(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the Data Proc cluster that is being started.
     * 
     *
     * 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 Data Proc cluster that is being started.
     * 
     *
     * 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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata 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.dataproc.v1.StartClusterMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.StartClusterMetadata)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the Data Proc cluster that is being started.
       * 
       *
       * 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 Data Proc cluster that is being started.
       * 
       *
       * 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 Data Proc cluster that is being started.
       * 
       *
       * 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 Data Proc cluster that is being started.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the Data Proc cluster that is being started.
       * 
       *
       * 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;
      }
      @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.dataproc.v1.StartClusterMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.StartClusterMetadata)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StartClusterMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StartClusterMetadata(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.dataproc.v1.ClusterServiceOuterClass.StartClusterMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface StopClusterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.StopClusterRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster to stop.
     * To get a cluster ID, make 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 stop.
     * To get a cluster ID, make 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();
    /**
     * 
     * Timeout to gracefully decommission nodes. In seconds. Default value: 0
     * 
     *
     * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
     * @return The decommissionTimeout.
     */
    long getDecommissionTimeout();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.StopClusterRequest}
   */
  public static final class StopClusterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.StopClusterRequest)
      StopClusterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StopClusterRequest.newBuilder() to construct.
    private StopClusterRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private StopClusterRequest() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StopClusterRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StopClusterRequest(
        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: {
              decommissionTimeout_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster to stop.
     * To get a cluster ID, make 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 stop.
     * To get a cluster ID, make 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 DECOMMISSION_TIMEOUT_FIELD_NUMBER = 2;
    private long decommissionTimeout_;
    /**
     * 
     * Timeout to gracefully decommission nodes. In seconds. Default value: 0
     * 
     *
     * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
     * @return The decommissionTimeout.
     */
    @java.lang.Override
    public long getDecommissionTimeout() {
      return decommissionTimeout_;
    }
    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 (decommissionTimeout_ != 0L) {
        output.writeInt64(2, decommissionTimeout_);
      }
      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 (decommissionTimeout_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, decommissionTimeout_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (getDecommissionTimeout()
          != other.getDecommissionTimeout()) 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) + DECOMMISSION_TIMEOUT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getDecommissionTimeout());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest 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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest 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.dataproc.v1.StopClusterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.StopClusterRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest.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_ = "";
        decommissionTimeout_ = 0L;
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest(this);
        result.clusterId_ = clusterId_;
        result.decommissionTimeout_ = decommissionTimeout_;
        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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          onChanged();
        }
        if (other.getDecommissionTimeout() != 0L) {
          setDecommissionTimeout(other.getDecommissionTimeout());
        }
        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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster to stop.
       * To get a cluster ID, make 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 stop.
       * To get a cluster ID, make 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 stop.
       * To get a cluster ID, make 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 stop.
       * To get a cluster ID, make 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 stop.
       * To get a cluster ID, make 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 decommissionTimeout_ ;
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
       * @return The decommissionTimeout.
       */
      @java.lang.Override
      public long getDecommissionTimeout() {
        return decommissionTimeout_;
      }
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
       * @param value The decommissionTimeout to set.
       * @return This builder for chaining.
       */
      public Builder setDecommissionTimeout(long value) {
        
        decommissionTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * Timeout to gracefully decommission nodes. In seconds. Default value: 0
       * 
       *
       * int64 decommission_timeout = 2 [(.yandex.cloud.value) = "0-86400"];
       * @return This builder for chaining.
       */
      public Builder clearDecommissionTimeout() {
        
        decommissionTimeout_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }
      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }
      // @@protoc_insertion_point(builder_scope:yandex.cloud.dataproc.v1.StopClusterRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.StopClusterRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StopClusterRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StopClusterRequest(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.dataproc.v1.ClusterServiceOuterClass.StopClusterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface StopClusterMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.StopClusterMetadata)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the Data Proc cluster that is being stopped.
     * 
     *
     * string cluster_id = 1;
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the Data Proc cluster that is being stopped.
     * 
     *
     * string cluster_id = 1;
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.StopClusterMetadata}
   */
  public static final class StopClusterMetadata extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.StopClusterMetadata)
      StopClusterMetadataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StopClusterMetadata.newBuilder() to construct.
    private StopClusterMetadata(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private StopClusterMetadata() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StopClusterMetadata();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StopClusterMetadata(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the Data Proc cluster that is being stopped.
     * 
     *
     * 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 Data Proc cluster that is being stopped.
     * 
     *
     * 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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata 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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata 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.dataproc.v1.StopClusterMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.StopClusterMetadata)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the Data Proc cluster that is being stopped.
       * 
       *
       * 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 Data Proc cluster that is being stopped.
       * 
       *
       * 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 Data Proc cluster that is being stopped.
       * 
       *
       * 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 Data Proc cluster that is being stopped.
       * 
       *
       * string cluster_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the Data Proc cluster that is being stopped.
       * 
       *
       * 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;
      }
      @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.dataproc.v1.StopClusterMetadata)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.StopClusterMetadata)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StopClusterMetadata parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StopClusterMetadata(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.dataproc.v1.ClusterServiceOuterClass.StopClusterMetadata getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListClusterOperationsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListClusterOperationsRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster to list operations for.
     * 
     *
     * 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 operations for.
     * 
     *
     * 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 [ListClusterOperationsResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     * Default value: 100.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "<=1000"];
     * @return The pageSize.
     */
    long getPageSize();
    /**
     * 
     * Page token. To get the next page of results, set [page_token] to the
     * [ListClusterOperationsResponse.next_page_token] returned by a 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
     * [ListClusterOperationsResponse.next_page_token] returned by a 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.dataproc.v1.ListClusterOperationsRequest}
   */
  public static final class ListClusterOperationsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListClusterOperationsRequest)
      ListClusterOperationsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListClusterOperationsRequest.newBuilder() to construct.
    private ListClusterOperationsRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListClusterOperationsRequest() {
      clusterId_ = "";
      pageToken_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListClusterOperationsRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListClusterOperationsRequest(
        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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster to list operations for.
     * 
     *
     * 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 operations for.
     * 
     *
     * 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 [ListClusterOperationsResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     * Default value: 100.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "<=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
     * [ListClusterOperationsResponse.next_page_token] returned by a 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
     * [ListClusterOperationsResponse.next_page_token] returned by a 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest) 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest 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.dataproc.v1.ListClusterOperationsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListClusterOperationsRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest.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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest(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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest.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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster to list operations for.
       * 
       *
       * 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 operations for.
       * 
       *
       * 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 operations for.
       * 
       *
       * 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 operations for.
       * 
       *
       * 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 operations for.
       * 
       *
       * 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 [ListClusterOperationsResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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 [ListClusterOperationsResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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 [ListClusterOperationsResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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
       * [ListClusterOperationsResponse.next_page_token] returned by a 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
       * [ListClusterOperationsResponse.next_page_token] returned by a 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
       * [ListClusterOperationsResponse.next_page_token] returned by a 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
       * [ListClusterOperationsResponse.next_page_token] returned by a 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
       * [ListClusterOperationsResponse.next_page_token] returned by a 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.dataproc.v1.ListClusterOperationsRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListClusterOperationsRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListClusterOperationsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListClusterOperationsRequest(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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListClusterOperationsResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListClusterOperationsResponse)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    java.util.List 
        getOperationsList();
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    yandex.cloud.api.operation.OperationOuterClass.Operation getOperations(int index);
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    int getOperationsCount();
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    java.util.List extends yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder> 
        getOperationsOrBuilderList();
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder getOperationsOrBuilder(
        int index);
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have its own `next_page_token` to continue paging through the results.
     * 
     *
     * string next_page_token = 2;
     * @return The nextPageToken.
     */
    java.lang.String getNextPageToken();
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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.dataproc.v1.ListClusterOperationsResponse}
   */
  public static final class ListClusterOperationsResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListClusterOperationsResponse)
      ListClusterOperationsResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListClusterOperationsResponse.newBuilder() to construct.
    private ListClusterOperationsResponse(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListClusterOperationsResponse() {
      operations_ = java.util.Collections.emptyList();
      nextPageToken_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListClusterOperationsResponse();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListClusterOperationsResponse(
        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)) {
                operations_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              operations_.add(
                  input.readMessage(yandex.cloud.api.operation.OperationOuterClass.Operation.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)) {
          operations_ = java.util.Collections.unmodifiableList(operations_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse.Builder.class);
    }
    public static final int OPERATIONS_FIELD_NUMBER = 1;
    private java.util.List operations_;
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    @java.lang.Override
    public java.util.List getOperationsList() {
      return operations_;
    }
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder> 
        getOperationsOrBuilderList() {
      return operations_;
    }
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    @java.lang.Override
    public int getOperationsCount() {
      return operations_.size();
    }
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.operation.OperationOuterClass.Operation getOperations(int index) {
      return operations_.get(index);
    }
    /**
     * 
     * List of operations for the specified cluster.
     * 
     *
     * repeated .yandex.cloud.operation.Operation operations = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder getOperationsOrBuilder(
        int index) {
      return operations_.get(index);
    }
    public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2;
    private volatile java.lang.Object nextPageToken_;
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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 < operations_.size(); i++) {
        output.writeMessage(1, operations_.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 < operations_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, operations_.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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse) obj;
      if (!getOperationsList()
          .equals(other.getOperationsList())) 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 (getOperationsCount() > 0) {
        hash = (37 * hash) + OPERATIONS_FIELD_NUMBER;
        hash = (53 * hash) + getOperationsList().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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse 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.dataproc.v1.ListClusterOperationsResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListClusterOperationsResponse)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getOperationsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (operationsBuilder_ == null) {
          operations_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          operationsBuilder_.clear();
        }
        nextPageToken_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse(this);
        int from_bitField0_ = bitField0_;
        if (operationsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            operations_ = java.util.Collections.unmodifiableList(operations_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.operations_ = operations_;
        } else {
          result.operations_ = operationsBuilder_.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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse.getDefaultInstance()) return this;
        if (operationsBuilder_ == null) {
          if (!other.operations_.isEmpty()) {
            if (operations_.isEmpty()) {
              operations_ = other.operations_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureOperationsIsMutable();
              operations_.addAll(other.operations_);
            }
            onChanged();
          }
        } else {
          if (!other.operations_.isEmpty()) {
            if (operationsBuilder_.isEmpty()) {
              operationsBuilder_.dispose();
              operationsBuilder_ = null;
              operations_ = other.operations_;
              bitField0_ = (bitField0_ & ~0x00000001);
              operationsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getOperationsFieldBuilder() : null;
            } else {
              operationsBuilder_.addAllMessages(other.operations_);
            }
          }
        }
        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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List operations_ =
        java.util.Collections.emptyList();
      private void ensureOperationsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          operations_ = new java.util.ArrayList(operations_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.operation.OperationOuterClass.Operation, yandex.cloud.api.operation.OperationOuterClass.Operation.Builder, yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder> operationsBuilder_;
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public java.util.List getOperationsList() {
        if (operationsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(operations_);
        } else {
          return operationsBuilder_.getMessageList();
        }
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public int getOperationsCount() {
        if (operationsBuilder_ == null) {
          return operations_.size();
        } else {
          return operationsBuilder_.getCount();
        }
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public yandex.cloud.api.operation.OperationOuterClass.Operation getOperations(int index) {
        if (operationsBuilder_ == null) {
          return operations_.get(index);
        } else {
          return operationsBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder setOperations(
          int index, yandex.cloud.api.operation.OperationOuterClass.Operation value) {
        if (operationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationsIsMutable();
          operations_.set(index, value);
          onChanged();
        } else {
          operationsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder setOperations(
          int index, yandex.cloud.api.operation.OperationOuterClass.Operation.Builder builderForValue) {
        if (operationsBuilder_ == null) {
          ensureOperationsIsMutable();
          operations_.set(index, builderForValue.build());
          onChanged();
        } else {
          operationsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder addOperations(yandex.cloud.api.operation.OperationOuterClass.Operation value) {
        if (operationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationsIsMutable();
          operations_.add(value);
          onChanged();
        } else {
          operationsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder addOperations(
          int index, yandex.cloud.api.operation.OperationOuterClass.Operation value) {
        if (operationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationsIsMutable();
          operations_.add(index, value);
          onChanged();
        } else {
          operationsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder addOperations(
          yandex.cloud.api.operation.OperationOuterClass.Operation.Builder builderForValue) {
        if (operationsBuilder_ == null) {
          ensureOperationsIsMutable();
          operations_.add(builderForValue.build());
          onChanged();
        } else {
          operationsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder addOperations(
          int index, yandex.cloud.api.operation.OperationOuterClass.Operation.Builder builderForValue) {
        if (operationsBuilder_ == null) {
          ensureOperationsIsMutable();
          operations_.add(index, builderForValue.build());
          onChanged();
        } else {
          operationsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder addAllOperations(
          java.lang.Iterable extends yandex.cloud.api.operation.OperationOuterClass.Operation> values) {
        if (operationsBuilder_ == null) {
          ensureOperationsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, operations_);
          onChanged();
        } else {
          operationsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder clearOperations() {
        if (operationsBuilder_ == null) {
          operations_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          operationsBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public Builder removeOperations(int index) {
        if (operationsBuilder_ == null) {
          ensureOperationsIsMutable();
          operations_.remove(index);
          onChanged();
        } else {
          operationsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public yandex.cloud.api.operation.OperationOuterClass.Operation.Builder getOperationsBuilder(
          int index) {
        return getOperationsFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder getOperationsOrBuilder(
          int index) {
        if (operationsBuilder_ == null) {
          return operations_.get(index);  } else {
          return operationsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public java.util.List extends yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder> 
           getOperationsOrBuilderList() {
        if (operationsBuilder_ != null) {
          return operationsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(operations_);
        }
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public yandex.cloud.api.operation.OperationOuterClass.Operation.Builder addOperationsBuilder() {
        return getOperationsFieldBuilder().addBuilder(
            yandex.cloud.api.operation.OperationOuterClass.Operation.getDefaultInstance());
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public yandex.cloud.api.operation.OperationOuterClass.Operation.Builder addOperationsBuilder(
          int index) {
        return getOperationsFieldBuilder().addBuilder(
            index, yandex.cloud.api.operation.OperationOuterClass.Operation.getDefaultInstance());
      }
      /**
       * 
       * List of operations for the specified cluster.
       * 
       *
       * repeated .yandex.cloud.operation.Operation operations = 1;
       */
      public java.util.List 
           getOperationsBuilderList() {
        return getOperationsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.operation.OperationOuterClass.Operation, yandex.cloud.api.operation.OperationOuterClass.Operation.Builder, yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder> 
          getOperationsFieldBuilder() {
        if (operationsBuilder_ == null) {
          operationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.operation.OperationOuterClass.Operation, yandex.cloud.api.operation.OperationOuterClass.Operation.Builder, yandex.cloud.api.operation.OperationOuterClass.OperationOrBuilder>(
                  operations_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          operations_ = null;
        }
        return operationsBuilder_;
      }
      private java.lang.Object nextPageToken_ = "";
      /**
       * 
       * Token for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterOperationsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterOperationsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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.dataproc.v1.ListClusterOperationsResponse)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListClusterOperationsResponse)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListClusterOperationsResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListClusterOperationsResponse(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.dataproc.v1.ClusterServiceOuterClass.ListClusterOperationsResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListClusterHostsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListClusterHostsRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * ID of the cluster to list hosts for.
     * To get a cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * ID of the cluster to list hosts for.
     * To get a cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.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 [ListClusterHostsResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     * Default value: 100.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "<=1000"];
     * @return The pageSize.
     */
    long getPageSize();
    /**
     * 
     * Page token. To get the next page of results, set [page_token] to the
     * [ListClusterHostsResponse.next_page_token] returned by a 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
     * [ListClusterHostsResponse.next_page_token] returned by a previous list request.
     * 
     *
     * string page_token = 3 [(.yandex.cloud.length) = "<=100"];
     * @return The bytes for pageToken.
     */
    com.google.protobuf.ByteString
        getPageTokenBytes();
    /**
     * 
     * A filter expression that filters hosts listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-host`
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The filter.
     */
    java.lang.String getFilter();
    /**
     * 
     * A filter expression that filters hosts listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-host`
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The bytes for filter.
     */
    com.google.protobuf.ByteString
        getFilterBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.ListClusterHostsRequest}
   */
  public static final class ListClusterHostsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListClusterHostsRequest)
      ListClusterHostsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListClusterHostsRequest.newBuilder() to construct.
    private ListClusterHostsRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListClusterHostsRequest() {
      clusterId_ = "";
      pageToken_ = "";
      filter_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListClusterHostsRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListClusterHostsRequest(
        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;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              filter_ = 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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * ID of the cluster to list hosts for.
     * To get a cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.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 hosts for.
     * To get a cluster ID, make a [ClusterService.List] request.
     * 
     *
     * string cluster_id = 1 [(.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 [ListClusterHostsResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     * Default value: 100.
     * 
     *
     * int64 page_size = 2 [(.yandex.cloud.value) = "<=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
     * [ListClusterHostsResponse.next_page_token] returned by a 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
     * [ListClusterHostsResponse.next_page_token] returned by a 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;
      }
    }
    public static final int FILTER_FIELD_NUMBER = 4;
    private volatile java.lang.Object filter_;
    /**
     * 
     * A filter expression that filters hosts listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-host`
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The filter.
     */
    @java.lang.Override
    public java.lang.String getFilter() {
      java.lang.Object ref = filter_;
      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();
        filter_ = s;
        return s;
      }
    }
    /**
     * 
     * A filter expression that filters hosts listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
     * Example of a filter: `name=my-host`
     * 
     *
     * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
     * @return The bytes for filter.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFilterBytes() {
      java.lang.Object ref = filter_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        filter_ = 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_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, filter_);
      }
      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_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, filter_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) return false;
      if (getPageSize()
          != other.getPageSize()) return false;
      if (!getPageToken()
          .equals(other.getPageToken())) return false;
      if (!getFilter()
          .equals(other.getFilter())) 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 = (37 * hash) + FILTER_FIELD_NUMBER;
      hash = (53 * hash) + getFilter().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest 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.dataproc.v1.ListClusterHostsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListClusterHostsRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest.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_ = "";
        filter_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest(this);
        result.clusterId_ = clusterId_;
        result.pageSize_ = pageSize_;
        result.pageToken_ = pageToken_;
        result.filter_ = filter_;
        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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest.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();
        }
        if (!other.getFilter().isEmpty()) {
          filter_ = other.filter_;
          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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * ID of the cluster to list hosts for.
       * To get a cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 hosts for.
       * To get a cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 hosts for.
       * To get a cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 hosts for.
       * To get a cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * ID of the cluster to list hosts for.
       * To get a cluster ID, make a [ClusterService.List] request.
       * 
       *
       * string cluster_id = 1 [(.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 [ListClusterHostsResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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 [ListClusterHostsResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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 [ListClusterHostsResponse.next_page_token]
       * that can be used to get the next page of results in subsequent list requests.
       * Default value: 100.
       * 
       *
       * int64 page_size = 2 [(.yandex.cloud.value) = "<=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
       * [ListClusterHostsResponse.next_page_token] returned by a 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
       * [ListClusterHostsResponse.next_page_token] returned by a 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
       * [ListClusterHostsResponse.next_page_token] returned by a 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
       * [ListClusterHostsResponse.next_page_token] returned by a 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
       * [ListClusterHostsResponse.next_page_token] returned by a 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;
      }
      private java.lang.Object filter_ = "";
      /**
       * 
       * A filter expression that filters hosts listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-host`
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @return The filter.
       */
      public java.lang.String getFilter() {
        java.lang.Object ref = filter_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          filter_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * 
       * A filter expression that filters hosts listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-host`
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @return The bytes for filter.
       */
      public com.google.protobuf.ByteString
          getFilterBytes() {
        java.lang.Object ref = filter_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filter_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * 
       * A filter expression that filters hosts listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-host`
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @param value The filter to set.
       * @return This builder for chaining.
       */
      public Builder setFilter(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        filter_ = value;
        onChanged();
        return this;
      }
      /**
       * 
       * A filter expression that filters hosts listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-host`
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @return This builder for chaining.
       */
      public Builder clearFilter() {
        
        filter_ = getDefaultInstance().getFilter();
        onChanged();
        return this;
      }
      /**
       * 
       * A filter expression that filters hosts listed in the response.
       * The expression must specify:
       * 1. The field name. Currently you can use filtering only on [Cluster.name] field.
       * 2. An `=` operator.
       * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
       * Example of a filter: `name=my-host`
       * 
       *
       * string filter = 4 [(.yandex.cloud.length) = "<=1000"];
       * @param value The bytes for filter to set.
       * @return This builder for chaining.
       */
      public Builder setFilterBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        filter_ = 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.dataproc.v1.ListClusterHostsRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListClusterHostsRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListClusterHostsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListClusterHostsRequest(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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListClusterHostsResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListClusterHostsResponse)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    java.util.List 
        getHostsList();
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host getHosts(int index);
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    int getHostsCount();
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    java.util.List extends yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder> 
        getHostsOrBuilderList();
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder getHostsOrBuilder(
        int index);
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have its own `next_page_token` to continue paging through the results.
     * 
     *
     * string next_page_token = 2;
     * @return The nextPageToken.
     */
    java.lang.String getNextPageToken();
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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.dataproc.v1.ListClusterHostsResponse}
   */
  public static final class ListClusterHostsResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListClusterHostsResponse)
      ListClusterHostsResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListClusterHostsResponse.newBuilder() to construct.
    private ListClusterHostsResponse(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListClusterHostsResponse() {
      hosts_ = java.util.Collections.emptyList();
      nextPageToken_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListClusterHostsResponse();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListClusterHostsResponse(
        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)) {
                hosts_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              hosts_.add(
                  input.readMessage(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.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)) {
          hosts_ = java.util.Collections.unmodifiableList(hosts_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse.Builder.class);
    }
    public static final int HOSTS_FIELD_NUMBER = 1;
    private java.util.List hosts_;
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    @java.lang.Override
    public java.util.List getHostsList() {
      return hosts_;
    }
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder> 
        getHostsOrBuilderList() {
      return hosts_;
    }
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    @java.lang.Override
    public int getHostsCount() {
      return hosts_.size();
    }
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host getHosts(int index) {
      return hosts_.get(index);
    }
    /**
     * 
     * Requested list of hosts.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder getHostsOrBuilder(
        int index) {
      return hosts_.get(index);
    }
    public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2;
    private volatile java.lang.Object nextPageToken_;
    /**
     * 
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
     * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
     * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
     * Each subsequent page will have 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 < hosts_.size(); i++) {
        output.writeMessage(1, hosts_.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 < hosts_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, hosts_.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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse) obj;
      if (!getHostsList()
          .equals(other.getHostsList())) 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 (getHostsCount() > 0) {
        hash = (37 * hash) + HOSTS_FIELD_NUMBER;
        hash = (53 * hash) + getHostsList().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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse 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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse 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.dataproc.v1.ListClusterHostsResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListClusterHostsResponse)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getHostsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (hostsBuilder_ == null) {
          hosts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          hostsBuilder_.clear();
        }
        nextPageToken_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse(this);
        int from_bitField0_ = bitField0_;
        if (hostsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            hosts_ = java.util.Collections.unmodifiableList(hosts_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.hosts_ = hosts_;
        } else {
          result.hosts_ = hostsBuilder_.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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse.getDefaultInstance()) return this;
        if (hostsBuilder_ == null) {
          if (!other.hosts_.isEmpty()) {
            if (hosts_.isEmpty()) {
              hosts_ = other.hosts_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureHostsIsMutable();
              hosts_.addAll(other.hosts_);
            }
            onChanged();
          }
        } else {
          if (!other.hosts_.isEmpty()) {
            if (hostsBuilder_.isEmpty()) {
              hostsBuilder_.dispose();
              hostsBuilder_ = null;
              hosts_ = other.hosts_;
              bitField0_ = (bitField0_ & ~0x00000001);
              hostsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getHostsFieldBuilder() : null;
            } else {
              hostsBuilder_.addAllMessages(other.hosts_);
            }
          }
        }
        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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List hosts_ =
        java.util.Collections.emptyList();
      private void ensureHostsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          hosts_ = new java.util.ArrayList(hosts_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder> hostsBuilder_;
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public java.util.List getHostsList() {
        if (hostsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(hosts_);
        } else {
          return hostsBuilder_.getMessageList();
        }
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public int getHostsCount() {
        if (hostsBuilder_ == null) {
          return hosts_.size();
        } else {
          return hostsBuilder_.getCount();
        }
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host getHosts(int index) {
        if (hostsBuilder_ == null) {
          return hosts_.get(index);
        } else {
          return hostsBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder setHosts(
          int index, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host value) {
        if (hostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHostsIsMutable();
          hosts_.set(index, value);
          onChanged();
        } else {
          hostsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder setHosts(
          int index, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder builderForValue) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.set(index, builderForValue.build());
          onChanged();
        } else {
          hostsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder addHosts(yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host value) {
        if (hostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHostsIsMutable();
          hosts_.add(value);
          onChanged();
        } else {
          hostsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder addHosts(
          int index, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host value) {
        if (hostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHostsIsMutable();
          hosts_.add(index, value);
          onChanged();
        } else {
          hostsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder addHosts(
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder builderForValue) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.add(builderForValue.build());
          onChanged();
        } else {
          hostsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder addHosts(
          int index, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder builderForValue) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.add(index, builderForValue.build());
          onChanged();
        } else {
          hostsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder addAllHosts(
          java.lang.Iterable extends yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host> values) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, hosts_);
          onChanged();
        } else {
          hostsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder clearHosts() {
        if (hostsBuilder_ == null) {
          hosts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          hostsBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public Builder removeHosts(int index) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.remove(index);
          onChanged();
        } else {
          hostsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder getHostsBuilder(
          int index) {
        return getHostsFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder getHostsOrBuilder(
          int index) {
        if (hostsBuilder_ == null) {
          return hosts_.get(index);  } else {
          return hostsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public java.util.List extends yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder> 
           getHostsOrBuilderList() {
        if (hostsBuilder_ != null) {
          return hostsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(hosts_);
        }
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder addHostsBuilder() {
        return getHostsFieldBuilder().addBuilder(
            yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.getDefaultInstance());
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder addHostsBuilder(
          int index) {
        return getHostsFieldBuilder().addBuilder(
            index, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.getDefaultInstance());
      }
      /**
       * 
       * Requested list of hosts.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.Host hosts = 1;
       */
      public java.util.List 
           getHostsBuilderList() {
        return getHostsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder> 
          getHostsFieldBuilder() {
        if (hostsBuilder_ == null) {
          hostsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.Host.Builder, yandex.cloud.api.dataproc.v1.SubclusterOuterClass.HostOrBuilder>(
                  hosts_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          hosts_ = null;
        }
        return hostsBuilder_;
      }
      private java.lang.Object nextPageToken_ = "";
      /**
       * 
       * Token for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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 for getting the next page of the list. If the number of results is greater than
       * the specified [ListClusterHostsRequest.page_size], use `next_page_token` as the value
       * for the [ListClusterHostsRequest.page_token] parameter in the next list request.
       * Each subsequent page will have 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.dataproc.v1.ListClusterHostsResponse)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListClusterHostsResponse)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListClusterHostsResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListClusterHostsResponse(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.dataproc.v1.ClusterServiceOuterClass.ListClusterHostsResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListUILinksRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListUILinksRequest)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Required. ID of the Hadoop cluster.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
     * @return The clusterId.
     */
    java.lang.String getClusterId();
    /**
     * 
     * Required. ID of the Hadoop cluster.
     * 
     *
     * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
     * @return The bytes for clusterId.
     */
    com.google.protobuf.ByteString
        getClusterIdBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.ListUILinksRequest}
   */
  public static final class ListUILinksRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListUILinksRequest)
      ListUILinksRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListUILinksRequest.newBuilder() to construct.
    private ListUILinksRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListUILinksRequest() {
      clusterId_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListUILinksRequest();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListUILinksRequest(
        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;
            }
            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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest.Builder.class);
    }
    public static final int CLUSTER_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object clusterId_;
    /**
     * 
     * Required. ID of the Hadoop cluster.
     * 
     *
     * string cluster_id = 1 [(.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;
      }
    }
    /**
     * 
     * Required. ID of the Hadoop cluster.
     * 
     *
     * string cluster_id = 1 [(.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;
      }
    }
    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_);
      }
      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_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest) obj;
      if (!getClusterId()
          .equals(other.getClusterId())) 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 = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest 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.dataproc.v1.ListUILinksRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListUILinksRequest)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest.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_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest(this);
        result.clusterId_ = clusterId_;
        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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest.getDefaultInstance()) return this;
        if (!other.getClusterId().isEmpty()) {
          clusterId_ = other.clusterId_;
          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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object clusterId_ = "";
      /**
       * 
       * Required. ID of the Hadoop cluster.
       * 
       *
       * string cluster_id = 1 [(.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;
        }
      }
      /**
       * 
       * Required. ID of the Hadoop cluster.
       * 
       *
       * string cluster_id = 1 [(.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;
        }
      }
      /**
       * 
       * Required. ID of the Hadoop cluster.
       * 
       *
       * string cluster_id = 1 [(.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;
      }
      /**
       * 
       * Required. ID of the Hadoop cluster.
       * 
       *
       * string cluster_id = 1 [(.yandex.cloud.length) = "<=50"];
       * @return This builder for chaining.
       */
      public Builder clearClusterId() {
        
        clusterId_ = getDefaultInstance().getClusterId();
        onChanged();
        return this;
      }
      /**
       * 
       * Required. ID of the Hadoop cluster.
       * 
       *
       * string cluster_id = 1 [(.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;
      }
      @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.dataproc.v1.ListUILinksRequest)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListUILinksRequest)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListUILinksRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListUILinksRequest(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.dataproc.v1.ClusterServiceOuterClass.ListUILinksRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface UILinkOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.UILink)
      com.google.protobuf.MessageOrBuilder {
    /**
     * string name = 1;
     * @return The name.
     */
    java.lang.String getName();
    /**
     * string name = 1;
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
    /**
     * string url = 2;
     * @return The url.
     */
    java.lang.String getUrl();
    /**
     * string url = 2;
     * @return The bytes for url.
     */
    com.google.protobuf.ByteString
        getUrlBytes();
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.UILink}
   */
  public static final class UILink extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.UILink)
      UILinkOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UILink.newBuilder() to construct.
    private UILink(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private UILink() {
      name_ = "";
      url_ = "";
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UILink();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UILink(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();
              name_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              url_ = 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.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UILink_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UILink_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder.class);
    }
    public static final int NAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object name_;
    /**
     * string name = 1;
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * string name = 1;
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    public static final int URL_FIELD_NUMBER = 2;
    private volatile java.lang.Object url_;
    /**
     * string url = 2;
     * @return The url.
     */
    @java.lang.Override
    public java.lang.String getUrl() {
      java.lang.Object ref = url_;
      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();
        url_ = s;
        return s;
      }
    }
    /**
     * string url = 2;
     * @return The bytes for url.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUrlBytes() {
      java.lang.Object ref = url_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        url_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(url_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, url_);
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(url_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, url_);
      }
      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.dataproc.v1.ClusterServiceOuterClass.UILink)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink) obj;
      if (!getName()
          .equals(other.getName())) return false;
      if (!getUrl()
          .equals(other.getUrl())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + URL_FIELD_NUMBER;
      hash = (53 * hash) + getUrl().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink 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.dataproc.v1.ClusterServiceOuterClass.UILink parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink 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.dataproc.v1.ClusterServiceOuterClass.UILink parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink 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.dataproc.v1.ClusterServiceOuterClass.UILink parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink 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.dataproc.v1.ClusterServiceOuterClass.UILink parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink 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.dataproc.v1.ClusterServiceOuterClass.UILink 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.dataproc.v1.UILink}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.UILink)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UILink_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UILink_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        name_ = "";
        url_ = "";
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_UILink_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink(this);
        result.name_ = name_;
        result.url_ = url_;
        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.dataproc.v1.ClusterServiceOuterClass.UILink) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.getDefaultInstance()) return this;
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (!other.getUrl().isEmpty()) {
          url_ = other.url_;
          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.dataproc.v1.ClusterServiceOuterClass.UILink parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private java.lang.Object name_ = "";
      /**
       * string name = 1;
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string name = 1;
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string name = 1;
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * string name = 1;
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * string name = 1;
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      private java.lang.Object url_ = "";
      /**
       * string url = 2;
       * @return The url.
       */
      public java.lang.String getUrl() {
        java.lang.Object ref = url_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          url_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string url = 2;
       * @return The bytes for url.
       */
      public com.google.protobuf.ByteString
          getUrlBytes() {
        java.lang.Object ref = url_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          url_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string url = 2;
       * @param value The url to set.
       * @return This builder for chaining.
       */
      public Builder setUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        url_ = value;
        onChanged();
        return this;
      }
      /**
       * string url = 2;
       * @return This builder for chaining.
       */
      public Builder clearUrl() {
        
        url_ = getDefaultInstance().getUrl();
        onChanged();
        return this;
      }
      /**
       * string url = 2;
       * @param value The bytes for url to set.
       * @return This builder for chaining.
       */
      public Builder setUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        url_ = 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.dataproc.v1.UILink)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.UILink)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public UILink parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new UILink(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.dataproc.v1.ClusterServiceOuterClass.UILink getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  public interface ListUILinksResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:yandex.cloud.dataproc.v1.ListUILinksResponse)
      com.google.protobuf.MessageOrBuilder {
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    java.util.List 
        getLinksList();
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink getLinks(int index);
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    int getLinksCount();
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder> 
        getLinksOrBuilderList();
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder getLinksOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code yandex.cloud.dataproc.v1.ListUILinksResponse}
   */
  public static final class ListUILinksResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:yandex.cloud.dataproc.v1.ListUILinksResponse)
      ListUILinksResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListUILinksResponse.newBuilder() to construct.
    private ListUILinksResponse(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
      super(builder);
    }
    private ListUILinksResponse() {
      links_ = java.util.Collections.emptyList();
    }
    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ListUILinksResponse();
    }
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListUILinksResponse(
        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)) {
                links_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              links_.add(
                  input.readMessage(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          links_ = java.util.Collections.unmodifiableList(links_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_descriptor;
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse.Builder.class);
    }
    public static final int LINKS_FIELD_NUMBER = 1;
    private java.util.List links_;
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    @java.lang.Override
    public java.util.List getLinksList() {
      return links_;
    }
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    @java.lang.Override
    public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder> 
        getLinksOrBuilderList() {
      return links_;
    }
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    @java.lang.Override
    public int getLinksCount() {
      return links_.size();
    }
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink getLinks(int index) {
      return links_.get(index);
    }
    /**
     * 
     * Requested list of ui links.
     * 
     *
     * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
     */
    @java.lang.Override
    public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder getLinksOrBuilder(
        int index) {
      return links_.get(index);
    }
    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;
      memoizedIsInitialized = 1;
      return true;
    }
    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < links_.size(); i++) {
        output.writeMessage(1, links_.get(i));
      }
      unknownFields.writeTo(output);
    }
    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;
      size = 0;
      for (int i = 0; i < links_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, links_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse)) {
        return super.equals(obj);
      }
      yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse other = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse) obj;
      if (!getLinksList()
          .equals(other.getLinksList())) 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 (getLinksCount() > 0) {
        hash = (37 * hash) + LINKS_FIELD_NUMBER;
        hash = (53 * hash) + getLinksList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse 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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse 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.dataproc.v1.ListUILinksResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:yandex.cloud.dataproc.v1.ListUILinksResponse)
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_descriptor;
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse.class, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse.Builder.class);
      }
      // Construct using yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getLinksFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (linksBuilder_ == null) {
          links_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          linksBuilder_.clear();
        }
        return this;
      }
      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_descriptor;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse getDefaultInstanceForType() {
        return yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse.getDefaultInstance();
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse build() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      @java.lang.Override
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse buildPartial() {
        yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse result = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse(this);
        int from_bitField0_ = bitField0_;
        if (linksBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            links_ = java.util.Collections.unmodifiableList(links_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.links_ = links_;
        } else {
          result.links_ = linksBuilder_.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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse) {
          return mergeFrom((yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      public Builder mergeFrom(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse other) {
        if (other == yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse.getDefaultInstance()) return this;
        if (linksBuilder_ == null) {
          if (!other.links_.isEmpty()) {
            if (links_.isEmpty()) {
              links_ = other.links_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureLinksIsMutable();
              links_.addAll(other.links_);
            }
            onChanged();
          }
        } else {
          if (!other.links_.isEmpty()) {
            if (linksBuilder_.isEmpty()) {
              linksBuilder_.dispose();
              linksBuilder_ = null;
              links_ = other.links_;
              bitField0_ = (bitField0_ & ~0x00000001);
              linksBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getLinksFieldBuilder() : null;
            } else {
              linksBuilder_.addAllMessages(other.links_);
            }
          }
        }
        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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private java.util.List links_ =
        java.util.Collections.emptyList();
      private void ensureLinksIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          links_ = new java.util.ArrayList(links_);
          bitField0_ |= 0x00000001;
         }
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder> linksBuilder_;
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public java.util.List getLinksList() {
        if (linksBuilder_ == null) {
          return java.util.Collections.unmodifiableList(links_);
        } else {
          return linksBuilder_.getMessageList();
        }
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public int getLinksCount() {
        if (linksBuilder_ == null) {
          return links_.size();
        } else {
          return linksBuilder_.getCount();
        }
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink getLinks(int index) {
        if (linksBuilder_ == null) {
          return links_.get(index);
        } else {
          return linksBuilder_.getMessage(index);
        }
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder setLinks(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink value) {
        if (linksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLinksIsMutable();
          links_.set(index, value);
          onChanged();
        } else {
          linksBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder setLinks(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder builderForValue) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.set(index, builderForValue.build());
          onChanged();
        } else {
          linksBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder addLinks(yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink value) {
        if (linksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLinksIsMutable();
          links_.add(value);
          onChanged();
        } else {
          linksBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder addLinks(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink value) {
        if (linksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLinksIsMutable();
          links_.add(index, value);
          onChanged();
        } else {
          linksBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder addLinks(
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder builderForValue) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.add(builderForValue.build());
          onChanged();
        } else {
          linksBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder addLinks(
          int index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder builderForValue) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.add(index, builderForValue.build());
          onChanged();
        } else {
          linksBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder addAllLinks(
          java.lang.Iterable extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink> values) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, links_);
          onChanged();
        } else {
          linksBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder clearLinks() {
        if (linksBuilder_ == null) {
          links_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          linksBuilder_.clear();
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public Builder removeLinks(int index) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.remove(index);
          onChanged();
        } else {
          linksBuilder_.remove(index);
        }
        return this;
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder getLinksBuilder(
          int index) {
        return getLinksFieldBuilder().getBuilder(index);
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder getLinksOrBuilder(
          int index) {
        if (linksBuilder_ == null) {
          return links_.get(index);  } else {
          return linksBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public java.util.List extends yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder> 
           getLinksOrBuilderList() {
        if (linksBuilder_ != null) {
          return linksBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(links_);
        }
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder addLinksBuilder() {
        return getLinksFieldBuilder().addBuilder(
            yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.getDefaultInstance());
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder addLinksBuilder(
          int index) {
        return getLinksFieldBuilder().addBuilder(
            index, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.getDefaultInstance());
      }
      /**
       * 
       * Requested list of ui links.
       * 
       *
       * repeated .yandex.cloud.dataproc.v1.UILink links = 1;
       */
      public java.util.List 
           getLinksBuilderList() {
        return getLinksFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder> 
          getLinksFieldBuilder() {
        if (linksBuilder_ == null) {
          linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILink.Builder, yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.UILinkOrBuilder>(
                  links_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          links_ = null;
        }
        return linksBuilder_;
      }
      @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.dataproc.v1.ListUILinksResponse)
    }
    // @@protoc_insertion_point(class_scope:yandex.cloud.dataproc.v1.ListUILinksResponse)
    private static final yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse();
    }
    public static yandex.cloud.api.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ListUILinksResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListUILinksResponse(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.dataproc.v1.ClusterServiceOuterClass.ListUILinksResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_LabelsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_LabelsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_LabelsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_LabelsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_UILink_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_UILink_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_fieldAccessorTable;
  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n.yandex/cloud/dataproc/v1/cluster_servi" +
      "ce.proto\022\030yandex.cloud.dataproc.v1\032\034goog" +
      "le/api/annotations.proto\032 google/protobu" +
      "f/field_mask.proto\032%yandex/cloud/datapro" +
      "c/v1/common.proto\032&yandex/cloud/dataproc" +
      "/v1/cluster.proto\032)yandex/cloud/dataproc" +
      "/v1/subcluster.proto\032&yandex/cloud/opera" +
      "tion/operation.proto\032\035yandex/cloud/valid" +
      "ation.proto\032 yandex/cloud/api/operation." +
      "proto\"5\n\021GetClusterRequest\022 \n\ncluster_id" +
      "\030\001 \001(\tB\014\350\3071\001\212\3101\004<=50\"\220\001\n\023ListClustersReq" +
      "uest\022\037\n\tfolder_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\006<=1000\022\035\n\npage_tok" +
      "en\030\003 \001(\tB\t\212\3101\005<=100\022\032\n\006filter\030\004 \001(\tB\n\212\3101" +
      "\006<=1000\"d\n\024ListClustersResponse\0223\n\010clust" +
      "ers\030\001 \003(\0132!.yandex.cloud.dataproc.v1.Clu" +
      "ster\022\027\n\017next_page_token\030\002 \001(\t\"\345\002\n\032Create" +
      "SubclusterConfigSpec\022/\n\004name\030\001 \001(\tB!\362\3071\035" +
      "|[a-z][-a-z0-9]{1,61}[a-z0-9]\0222\n\004role\030\002 " +
      "\001(\0162\036.yandex.cloud.dataproc.v1.RoleB\004\350\3071" +
      "\001\022<\n\tresources\030\003 \001(\0132#.yandex.cloud.data" +
      "proc.v1.ResourcesB\004\350\3071\001\022\037\n\tsubnet_id\030\004 \001" +
      "(\tB\014\350\3071\001\212\3101\004<=50\022 \n\013hosts_count\030\005 \001(\003B\013\350" +
      "\3071\001\372\3071\003>=1\022\030\n\020assign_public_ip\030\006 \001(\010\022G\n\022" +
      "autoscaling_config\030\007 \001(\0132+.yandex.cloud." +
      "dataproc.v1.AutoscalingConfig\"\370\001\n\032Update" +
      "SubclusterConfigSpec\022\n\n\002id\030\001 \001(\t\022/\n\004name" +
      "\030\002 \001(\tB!\362\3071\035|[a-z][-a-z0-9]{1,61}[a-z0-9" +
      "]\0226\n\tresources\030\003 \001(\0132#.yandex.cloud.data" +
      "proc.v1.Resources\022\034\n\013hosts_count\030\004 \001(\003B\007" +
      "\372\3071\003>=1\022G\n\022autoscaling_config\030\005 \001(\0132+.ya" +
      "ndex.cloud.dataproc.v1.AutoscalingConfig" +
      "\"\265\001\n\027CreateClusterConfigSpec\022\022\n\nversion_" +
      "id\030\001 \001(\t\0226\n\006hadoop\030\002 \001(\0132&.yandex.cloud." +
      "dataproc.v1.HadoopConfig\022N\n\020subclusters_" +
      "spec\030\003 \003(\01324.yandex.cloud.dataproc.v1.Cr" +
      "eateSubclusterConfigSpec\"\241\001\n\027UpdateClust" +
      "erConfigSpec\022N\n\020subclusters_spec\030\001 \003(\01324" +
      ".yandex.cloud.dataproc.v1.UpdateSubclust" +
      "erConfigSpec\0226\n\006hadoop\030\002 \001(\0132&.yandex.cl" +
      "oud.dataproc.v1.HadoopConfig\"\335\004\n\024CreateC" +
      "lusterRequest\022\037\n\tfolder_id\030\001 \001(\tB\014\350\3071\001\212\310" +
      "1\004<=50\022/\n\004name\030\002 \001(\tB!\362\3071\035|[a-z][-a-z0-9" +
      "]{1,61}[a-z0-9]\022\036\n\013description\030\003 \001(\tB\t\212\310" +
      "1\005<=256\022\213\001\n\006labels\030\004 \003(\0132:.yandex.cloud." +
      "dataproc.v1.CreateClusterRequest.LabelsE" +
      "ntryB?\202\3101\004<=64\212\3101\004<=63\362\3071\013[-_0-9a-z]*\262\3101" +
      "\006\032\0041-63\262\3101\022\022\020[a-z][-_0-9a-z]*\022L\n\013config_" +
      "spec\030\006 \001(\01321.yandex.cloud.dataproc.v1.Cr" +
      "eateClusterConfigSpecB\004\350\3071\001\022\035\n\007zone_id\030\007" +
      " \001(\tB\014\350\3071\001\212\3101\004<=50\022 \n\022service_account_id" +
      "\030\010 \001(\tB\004\350\3071\001\022\016\n\006bucket\030\t \001(\t\022\020\n\010ui_proxy" +
      "\030\n \001(\010\022\032\n\022security_group_ids\030\013 \003(\t\022\026\n\016ho" +
      "st_group_ids\030\014 \003(\t\022\033\n\023deletion_protectio" +
      "n\030\r \001(\010\022\024\n\014log_group_id\030\016 \001(\t\032-\n\013LabelsE" +
      "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"+\n\025" +
      "CreateClusterMetadata\022\022\n\ncluster_id\030\001 \001(" +
      "\t\"\363\004\n\024UpdateClusterRequest\022\034\n\ncluster_id" +
      "\030\001 \001(\tB\010\212\3101\004<=50\022/\n\013update_mask\030\002 \001(\0132\032." +
      "google.protobuf.FieldMask\022\036\n\013description" +
      "\030\003 \001(\tB\t\212\3101\005<=256\022\213\001\n\006labels\030\004 \003(\0132:.yan" +
      "dex.cloud.dataproc.v1.UpdateClusterReque" +
      "st.LabelsEntryB?\202\3101\004<=64\212\3101\004<=63\362\3071\013[-_0" +
      "-9a-z]*\262\3101\006\032\0041-63\262\3101\022\022\020[a-z][-_0-9a-z]*\022" +
      "F\n\013config_spec\030\005 \001(\01321.yandex.cloud.data" +
      "proc.v1.UpdateClusterConfigSpec\022/\n\004name\030" +
      "\006 \001(\tB!\362\3071\035|[a-z][-a-z0-9]{1,61}[a-z0-9]" +
      "\022\032\n\022service_account_id\030\007 \001(\t\022\016\n\006bucket\030\010" +
      " \001(\t\022)\n\024decommission_timeout\030\t \001(\003B\013\372\3071\007" +
      "0-86400\022\020\n\010ui_proxy\030\n \001(\010\022\032\n\022security_gr" +
      "oup_ids\030\013 \003(\t\022\033\n\023deletion_protection\030\014 \001" +
      "(\010\022\024\n\014log_group_id\030\r \001(\t\032-\n\013LabelsEntry\022" +
      "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"+\n\025Updat" +
      "eClusterMetadata\022\022\n\ncluster_id\030\001 \001(\t\"c\n\024" +
      "DeleteClusterRequest\022 \n\ncluster_id\030\001 \001(\t" +
      "B\014\350\3071\001\212\3101\004<=50\022)\n\024decommission_timeout\030\002" +
      " \001(\003B\013\372\3071\0070-86400\"+\n\025DeleteClusterMetada" +
      "ta\022\022\n\ncluster_id\030\001 \001(\t\"7\n\023StartClusterRe" +
      "quest\022 \n\ncluster_id\030\001 \001(\tB\014\350\3071\001\212\3101\004<=50\"" +
      "*\n\024StartClusterMetadata\022\022\n\ncluster_id\030\001 " +
      "\001(\t\"a\n\022StopClusterRequest\022 \n\ncluster_id\030" +
      "\001 \001(\tB\014\350\3071\001\212\3101\004<=50\022)\n\024decommission_time" +
      "out\030\002 \001(\003B\013\372\3071\0070-86400\")\n\023StopClusterMet" +
      "adata\022\022\n\ncluster_id\030\001 \001(\t\"~\n\034ListCluster" +
      "OperationsRequest\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\006<=10" +
      "00\022\035\n\npage_token\030\003 \001(\tB\t\212\3101\005<=100\"o\n\035Lis" +
      "tClusterOperationsResponse\0225\n\noperations" +
      "\030\001 \003(\0132!.yandex.cloud.operation.Operatio" +
      "n\022\027\n\017next_page_token\030\002 \001(\t\"\221\001\n\027ListClust" +
      "erHostsRequest\022\034\n\ncluster_id\030\001 \001(\tB\010\212\3101\004" +
      "<=50\022\035\n\tpage_size\030\002 \001(\003B\n\372\3071\006<=1000\022\035\n\np" +
      "age_token\030\003 \001(\tB\t\212\3101\005<=100\022\032\n\006filter\030\004 \001" +
      "(\tB\n\212\3101\006<=1000\"b\n\030ListClusterHostsRespon" +
      "se\022-\n\005hosts\030\001 \003(\0132\036.yandex.cloud.datapro" +
      "c.v1.Host\022\027\n\017next_page_token\030\002 \001(\t\"2\n\022Li" +
      "stUILinksRequest\022\034\n\ncluster_id\030\001 \001(\tB\010\212\310" +
      "1\004<=50\"#\n\006UILink\022\014\n\004name\030\001 \001(\t\022\013\n\003url\030\002 " +
      "\001(\t\"F\n\023ListUILinksResponse\022/\n\005links\030\001 \003(" +
      "\0132 .yandex.cloud.dataproc.v1.UILink2\221\r\n\016" +
      "ClusterService\022\201\001\n\003Get\022+.yandex.cloud.da" +
      "taproc.v1.GetClusterRequest\032!.yandex.clo" +
      "ud.dataproc.v1.Cluster\"*\202\323\344\223\002$\022\"/datapro" +
      "c/v1/clusters/{cluster_id}\022\204\001\n\004List\022-.ya" +
      "ndex.cloud.dataproc.v1.ListClustersReque" +
      "st\032..yandex.cloud.dataproc.v1.ListCluste" +
      "rsResponse\"\035\202\323\344\223\002\027\022\025/dataproc/v1/cluster" +
      "s\022\241\001\n\006Create\022..yandex.cloud.dataproc.v1." +
      "CreateClusterRequest\032!.yandex.cloud.oper" +
      "ation.Operation\"D\202\323\344\223\002\032\"\025/dataproc/v1/cl" +
      "usters:\001*\262\322* \n\025CreateClusterMetadata\022\007Cl" +
      "uster\022\256\001\n\006Update\022..yandex.cloud.dataproc" +
      ".v1.UpdateClusterRequest\032!.yandex.cloud." +
      "operation.Operation\"Q\202\323\344\223\002\'2\"/dataproc/v" +
      "1/clusters/{cluster_id}:\001*\262\322* \n\025UpdateCl" +
      "usterMetadata\022\007Cluster\022\271\001\n\006Delete\022..yand" +
      "ex.cloud.dataproc.v1.DeleteClusterReques" +
      "t\032!.yandex.cloud.operation.Operation\"\\\202\323" +
      "\344\223\002$*\"/dataproc/v1/clusters/{cluster_id}" +
      "\262\322*.\n\025DeleteClusterMetadata\022\025google.prot" +
      "obuf.Empty\022\256\001\n\005Start\022-.yandex.cloud.data" +
      "proc.v1.StartClusterRequest\032!.yandex.clo" +
      "ud.operation.Operation\"S\202\323\344\223\002*\"(/datapro" +
      "c/v1/clusters/{cluster_id}:start\262\322*\037\n\024St" +
      "artClusterMetadata\022\007Cluster\022\255\001\n\004Stop\022,.y" +
      "andex.cloud.dataproc.v1.StopClusterReque" +
      "st\032!.yandex.cloud.operation.Operation\"T\202" +
      "\323\344\223\002,\"\'/dataproc/v1/clusters/{cluster_id" +
      "}:stop:\001*\262\322*\036\n\023StopClusterMetadata\022\007Clus" +
      "ter\022\270\001\n\016ListOperations\0226.yandex.cloud.da" +
      "taproc.v1.ListClusterOperationsRequest\0327" +
      ".yandex.cloud.dataproc.v1.ListClusterOpe" +
      "rationsResponse\"5\202\323\344\223\002/\022-/dataproc/v1/cl" +
      "usters/{cluster_id}/operations\022\244\001\n\tListH" +
      "osts\0221.yandex.cloud.dataproc.v1.ListClus" +
      "terHostsRequest\0322.yandex.cloud.dataproc." +
      "v1.ListClusterHostsResponse\"0\202\323\344\223\002*\022(/da" +
      "taproc/v1/clusters/{cluster_id}/hosts\022\237\001" +
      "\n\013ListUILinks\022,.yandex.cloud.dataproc.v1" +
      ".ListUILinksRequest\032-.yandex.cloud.datap" +
      "roc.v1.ListUILinksResponse\"3\202\323\344\223\002-\022+/dat" +
      "aproc/v1/clusters/{cluster_id}/ui_linksB" +
      "e\n\034yandex.cloud.api.dataproc.v1ZEgithub." +
      "com/yandex-cloud/go-genproto/yandex/clou" +
      "d/dataproc/v1;dataprocb\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.dataproc.v1.Common.getDescriptor(),
          yandex.cloud.api.dataproc.v1.ClusterOuterClass.getDescriptor(),
          yandex.cloud.api.dataproc.v1.SubclusterOuterClass.getDescriptor(),
          yandex.cloud.api.operation.OperationOuterClass.getDescriptor(),
          yandex.cloud.api.Validation.getDescriptor(),
          yandex.cloud.api.OperationOuterClass.getDescriptor(),
        });
    internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_GetClusterRequest_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListClustersRequest_descriptor,
        new java.lang.String[] { "FolderId", "PageSize", "PageToken", "Filter", });
    internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListClustersResponse_descriptor,
        new java.lang.String[] { "Clusters", "NextPageToken", });
    internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_CreateSubclusterConfigSpec_descriptor,
        new java.lang.String[] { "Name", "Role", "Resources", "SubnetId", "HostsCount", "AssignPublicIp", "AutoscalingConfig", });
    internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_UpdateSubclusterConfigSpec_descriptor,
        new java.lang.String[] { "Id", "Name", "Resources", "HostsCount", "AutoscalingConfig", });
    internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_CreateClusterConfigSpec_descriptor,
        new java.lang.String[] { "VersionId", "Hadoop", "SubclustersSpec", });
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_UpdateClusterConfigSpec_descriptor,
        new java.lang.String[] { "SubclustersSpec", "Hadoop", });
    internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_descriptor,
        new java.lang.String[] { "FolderId", "Name", "Description", "Labels", "ConfigSpec", "ZoneId", "ServiceAccountId", "Bucket", "UiProxy", "SecurityGroupIds", "HostGroupIds", "DeletionProtection", "LogGroupId", });
    internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_LabelsEntry_descriptor =
      internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_descriptor.getNestedTypes().get(0);
    internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_LabelsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_CreateClusterRequest_LabelsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_CreateClusterMetadata_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_descriptor,
        new java.lang.String[] { "ClusterId", "UpdateMask", "Description", "Labels", "ConfigSpec", "Name", "ServiceAccountId", "Bucket", "DecommissionTimeout", "UiProxy", "SecurityGroupIds", "DeletionProtection", "LogGroupId", });
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_LabelsEntry_descriptor =
      internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_descriptor.getNestedTypes().get(0);
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_LabelsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_UpdateClusterRequest_LabelsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_UpdateClusterMetadata_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_DeleteClusterRequest_descriptor,
        new java.lang.String[] { "ClusterId", "DecommissionTimeout", });
    internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_DeleteClusterMetadata_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_StartClusterRequest_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_StartClusterMetadata_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_StopClusterRequest_descriptor,
        new java.lang.String[] { "ClusterId", "DecommissionTimeout", });
    internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_StopClusterMetadata_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsRequest_descriptor,
        new java.lang.String[] { "ClusterId", "PageSize", "PageToken", });
    internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListClusterOperationsResponse_descriptor,
        new java.lang.String[] { "Operations", "NextPageToken", });
    internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListClusterHostsRequest_descriptor,
        new java.lang.String[] { "ClusterId", "PageSize", "PageToken", "Filter", });
    internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListClusterHostsResponse_descriptor,
        new java.lang.String[] { "Hosts", "NextPageToken", });
    internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListUILinksRequest_descriptor,
        new java.lang.String[] { "ClusterId", });
    internal_static_yandex_cloud_dataproc_v1_UILink_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_yandex_cloud_dataproc_v1_UILink_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_UILink_descriptor,
        new java.lang.String[] { "Name", "Url", });
    internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_descriptor =
      getDescriptor().getMessageTypes().get(23);
    internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yandex_cloud_dataproc_v1_ListUILinksResponse_descriptor,
        new java.lang.String[] { "Links", });
    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.mapKey);
    registry.add(yandex.cloud.api.Validation.pattern);
    registry.add(yandex.cloud.api.Validation.required);
    registry.add(yandex.cloud.api.Validation.size);
    registry.add(yandex.cloud.api.Validation.value);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.api.AnnotationsProto.getDescriptor();
    com.google.protobuf.FieldMaskProto.getDescriptor();
    yandex.cloud.api.dataproc.v1.Common.getDescriptor();
    yandex.cloud.api.dataproc.v1.ClusterOuterClass.getDescriptor();
    yandex.cloud.api.dataproc.v1.SubclusterOuterClass.getDescriptor();
    yandex.cloud.api.operation.OperationOuterClass.getDescriptor();
    yandex.cloud.api.Validation.getDescriptor();
    yandex.cloud.api.OperationOuterClass.getDescriptor();
  }
  // @@protoc_insertion_point(outer_class_scope)
}
                                                                                                                                                                                                                        © 2015 - 2025 Weber Informatics LLC | Privacy Policy