// 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 CommandOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.devtools.remoteexecution.v1test.Command)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path. The `PATH`
   * environment variable, or similar functionality on other systems, is not
   * used to determine which executable to run.
   * The working directory will always be the input root.
   * </pre>
   *
   * <code>repeated string arguments = 1;</code>
   */
  java.util.List<java.lang.String>
      getArgumentsList();
  /**
   * <pre>
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path. The `PATH`
   * environment variable, or similar functionality on other systems, is not
   * used to determine which executable to run.
   * The working directory will always be the input root.
   * </pre>
   *
   * <code>repeated string arguments = 1;</code>
   */
  int getArgumentsCount();
  /**
   * <pre>
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path. The `PATH`
   * environment variable, or similar functionality on other systems, is not
   * used to determine which executable to run.
   * The working directory will always be the input root.
   * </pre>
   *
   * <code>repeated string arguments = 1;</code>
   */
  java.lang.String getArguments(int index);
  /**
   * <pre>
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path. The `PATH`
   * environment variable, or similar functionality on other systems, is not
   * used to determine which executable to run.
   * The working directory will always be the input root.
   * </pre>
   *
   * <code>repeated string arguments = 1;</code>
   */
  com.google.protobuf.ByteString
      getArgumentsBytes(int index);

  /**
   * <pre>
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   * In order to ensure that equivalent `Command`s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * </pre>
   *
   * <code>repeated .google.devtools.remoteexecution.v1test.Command.EnvironmentVariable environment_variables = 2;</code>
   */
  java.util.List<com.google.devtools.remoteexecution.v1test.Command.EnvironmentVariable> 
      getEnvironmentVariablesList();
  /**
   * <pre>
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   * In order to ensure that equivalent `Command`s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * </pre>
   *
   * <code>repeated .google.devtools.remoteexecution.v1test.Command.EnvironmentVariable environment_variables = 2;</code>
   */
  com.google.devtools.remoteexecution.v1test.Command.EnvironmentVariable getEnvironmentVariables(int index);
  /**
   * <pre>
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   * In order to ensure that equivalent `Command`s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * </pre>
   *
   * <code>repeated .google.devtools.remoteexecution.v1test.Command.EnvironmentVariable environment_variables = 2;</code>
   */
  int getEnvironmentVariablesCount();
  /**
   * <pre>
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   * In order to ensure that equivalent `Command`s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * </pre>
   *
   * <code>repeated .google.devtools.remoteexecution.v1test.Command.EnvironmentVariable environment_variables = 2;</code>
   */
  java.util.List<? extends com.google.devtools.remoteexecution.v1test.Command.EnvironmentVariableOrBuilder> 
      getEnvironmentVariablesOrBuilderList();
  /**
   * <pre>
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   * In order to ensure that equivalent `Command`s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * </pre>
   *
   * <code>repeated .google.devtools.remoteexecution.v1test.Command.EnvironmentVariable environment_variables = 2;</code>
   */
  com.google.devtools.remoteexecution.v1test.Command.EnvironmentVariableOrBuilder getEnvironmentVariablesOrBuilder(
      int index);
}
