// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/protobuf/tensorflow_server.proto

package org.tensorflow.proto.distruntime;

public interface ServerDefOrBuilder extends
    // @@protoc_insertion_point(interface_extends:tensorflow.ServerDef)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * The cluster of which this server is a member.
   * </pre>
   *
   * <code>.tensorflow.ClusterDef cluster = 1;</code>
   */
  boolean hasCluster();
  /**
   * <pre>
   * The cluster of which this server is a member.
   * </pre>
   *
   * <code>.tensorflow.ClusterDef cluster = 1;</code>
   */
  org.tensorflow.proto.distruntime.ClusterDef getCluster();
  /**
   * <pre>
   * The cluster of which this server is a member.
   * </pre>
   *
   * <code>.tensorflow.ClusterDef cluster = 1;</code>
   */
  org.tensorflow.proto.distruntime.ClusterDefOrBuilder getClusterOrBuilder();

  /**
   * <pre>
   * The name of the job of which this server is a member.
   * NOTE(mrry): The `cluster` field must contain a `JobDef` with a `name` field
   * that matches this name.
   * </pre>
   *
   * <code>string job_name = 2;</code>
   */
  java.lang.String getJobName();
  /**
   * <pre>
   * The name of the job of which this server is a member.
   * NOTE(mrry): The `cluster` field must contain a `JobDef` with a `name` field
   * that matches this name.
   * </pre>
   *
   * <code>string job_name = 2;</code>
   */
  com.google.protobuf.ByteString
      getJobNameBytes();

  /**
   * <pre>
   * The task index of this server in its job.
   * NOTE: The `cluster` field must contain a `JobDef` with a matching `name`
   * and a mapping in its `tasks` field for this index.
   * </pre>
   *
   * <code>int32 task_index = 3;</code>
   */
  int getTaskIndex();

  /**
   * <pre>
   * The default configuration for sessions that run on this server.
   * </pre>
   *
   * <code>.tensorflow.ConfigProto default_session_config = 4;</code>
   */
  boolean hasDefaultSessionConfig();
  /**
   * <pre>
   * The default configuration for sessions that run on this server.
   * </pre>
   *
   * <code>.tensorflow.ConfigProto default_session_config = 4;</code>
   */
  org.tensorflow.proto.framework.ConfigProto getDefaultSessionConfig();
  /**
   * <pre>
   * The default configuration for sessions that run on this server.
   * </pre>
   *
   * <code>.tensorflow.ConfigProto default_session_config = 4;</code>
   */
  org.tensorflow.proto.framework.ConfigProtoOrBuilder getDefaultSessionConfigOrBuilder();

  /**
   * <pre>
   * The protocol to be used by this server.
   * Acceptable values include: "grpc", "grpc+verbs".
   * </pre>
   *
   * <code>string protocol = 5;</code>
   */
  java.lang.String getProtocol();
  /**
   * <pre>
   * The protocol to be used by this server.
   * Acceptable values include: "grpc", "grpc+verbs".
   * </pre>
   *
   * <code>string protocol = 5;</code>
   */
  com.google.protobuf.ByteString
      getProtocolBytes();

  /**
   * <pre>
   * The server port. If not set, then we identify the port from the job_name.
   * </pre>
   *
   * <code>int32 port = 6;</code>
   */
  int getPort();

  /**
   * <pre>
   * Device filters for remote tasks in the cluster.
   * NOTE: This is an experimental feature and only effective in TensorFlow 2.x.
   * </pre>
   *
   * <code>.tensorflow.ClusterDeviceFilters cluster_device_filters = 7;</code>
   */
  boolean hasClusterDeviceFilters();
  /**
   * <pre>
   * Device filters for remote tasks in the cluster.
   * NOTE: This is an experimental feature and only effective in TensorFlow 2.x.
   * </pre>
   *
   * <code>.tensorflow.ClusterDeviceFilters cluster_device_filters = 7;</code>
   */
  org.tensorflow.proto.distruntime.ClusterDeviceFilters getClusterDeviceFilters();
  /**
   * <pre>
   * Device filters for remote tasks in the cluster.
   * NOTE: This is an experimental feature and only effective in TensorFlow 2.x.
   * </pre>
   *
   * <code>.tensorflow.ClusterDeviceFilters cluster_device_filters = 7;</code>
   */
  org.tensorflow.proto.distruntime.ClusterDeviceFiltersOrBuilder getClusterDeviceFiltersOrBuilder();
}
