// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/devtools/remoteexecution/v1test/remote_execution.proto

package com.google.devtools.remoteexecution.v1test;

public interface ExecuteRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.devtools.remoteexecution.v1test.ExecuteRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * The instance of the execution system to operate against. A server may
   * support multiple instances of the execution system (with their own workers,
   * storage, caches, etc.). The server MAY require use of this field to select
   * between them in an implementation-defined fashion, otherwise it can be
   * omitted.
   * </pre>
   *
   * <code>string instance_name = 1;</code>
   */
  java.lang.String getInstanceName();
  /**
   * <pre>
   * The instance of the execution system to operate against. A server may
   * support multiple instances of the execution system (with their own workers,
   * storage, caches, etc.). The server MAY require use of this field to select
   * between them in an implementation-defined fashion, otherwise it can be
   * omitted.
   * </pre>
   *
   * <code>string instance_name = 1;</code>
   */
  com.google.protobuf.ByteString
      getInstanceNameBytes();

  /**
   * <pre>
   * The action to be performed.
   * </pre>
   *
   * <code>.google.devtools.remoteexecution.v1test.Action action = 2;</code>
   */
  boolean hasAction();
  /**
   * <pre>
   * The action to be performed.
   * </pre>
   *
   * <code>.google.devtools.remoteexecution.v1test.Action action = 2;</code>
   */
  com.google.devtools.remoteexecution.v1test.Action getAction();
  /**
   * <pre>
   * The action to be performed.
   * </pre>
   *
   * <code>.google.devtools.remoteexecution.v1test.Action action = 2;</code>
   */
  com.google.devtools.remoteexecution.v1test.ActionOrBuilder getActionOrBuilder();

  /**
   * <pre>
   * If true, the action will be executed anew even if its result was already
   * present in the cache. If false, the result may be served from the
   * [ActionCache][google.devtools.remoteexecution.v1test.ActionCache].
   * </pre>
   *
   * <code>bool skip_cache_lookup = 3;</code>
   */
  boolean getSkipCacheLookup();

  /**
   * <pre>
   * The total count of input files, not counting directories. This must be
   * provided so that the server can do resource allocation and, on servers with
   * quotas, quota checking. It is also used as a safety check: servers MUST
   * return an error if the total number of input files described in the
   * `action` is different.
   * </pre>
   *
   * <code>int32 total_input_file_count = 4;</code>
   */
  int getTotalInputFileCount();

  /**
   * <pre>
   * The total size of input file content, provided as a hint and check. This
   * must be provided so that the server can do resource allocation and, on
   * servers with quotas, quota checking. It is also used as a safety check:
   * servers MUST return an error if the total size of input files described in
   * the `action` is different.
   * </pre>
   *
   * <code>int64 total_input_file_bytes = 5;</code>
   */
  long getTotalInputFileBytes();
}
