All Downloads are FREE. Search and download functionalities are using the official Maven repository.

build.bazel.remote.execution.v2.CommandKt.kt Maven / Gradle / Ivy

// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: build/bazel/remote/execution/v2/remote_execution.proto

// Generated files should ignore deprecation warnings
@file:Suppress("DEPRECATION")
package build.bazel.remote.execution.v2;

@kotlin.jvm.JvmName("-initializecommand")
public inline fun command(block: build.bazel.remote.execution.v2.CommandKt.Dsl.() -> kotlin.Unit): build.bazel.remote.execution.v2.Command =
  build.bazel.remote.execution.v2.CommandKt.Dsl._create(build.bazel.remote.execution.v2.Command.newBuilder()).apply { block() }._build()
/**
 * ```
 * A `Command` is the actual command executed by a worker running an
 * [Action][build.bazel.remote.execution.v2.Action] and specifications of its
 * environment.
 *
 * Except as otherwise required, the environment (such as which system
 * libraries or binaries are available, and what filesystems are mounted where)
 * is defined by and specific to the implementation of the remote execution API.
 * ```
 *
 * Protobuf type `build.bazel.remote.execution.v2.Command`
 */
public object CommandKt {
  @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
  @com.google.protobuf.kotlin.ProtoDslMarker
  public class Dsl private constructor(
    private val _builder: build.bazel.remote.execution.v2.Command.Builder
  ) {
    public companion object {
      @kotlin.jvm.JvmSynthetic
      @kotlin.PublishedApi
      internal fun _create(builder: build.bazel.remote.execution.v2.Command.Builder): Dsl = Dsl(builder)
    }

    @kotlin.jvm.JvmSynthetic
    @kotlin.PublishedApi
    internal fun _build(): build.bazel.remote.execution.v2.Command = _builder.build()

    /**
     * An uninstantiable, behaviorless type to represent the field in
     * generics.
     */
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    public class ArgumentsProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
    /**
     * ```
     * 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.
     * ```
     *
     * `repeated string arguments = 1;`
     * @return A list containing the arguments.
     */
    public val arguments: com.google.protobuf.kotlin.DslList
      @kotlin.jvm.JvmSynthetic
      get() = com.google.protobuf.kotlin.DslList(
        _builder.getArgumentsList()
      )
    /**
     * ```
     * 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.
     * ```
     *
     * `repeated string arguments = 1;`
     * @param value The arguments to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addArguments")
    public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) {
      _builder.addArguments(value)
    }
    /**
     * ```
     * 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.
     * ```
     *
     * `repeated string arguments = 1;`
     * @param value The arguments to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignArguments")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) {
      add(value)
    }
    /**
     * ```
     * 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.
     * ```
     *
     * `repeated string arguments = 1;`
     * @param values The arguments to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addAllArguments")
    public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) {
      _builder.addAllArguments(values)
    }
    /**
     * ```
     * 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.
     * ```
     *
     * `repeated string arguments = 1;`
     * @param values The arguments to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignAllArguments")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) {
      addAll(values)
    }
    /**
     * ```
     * 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.
     * ```
     *
     * `repeated string arguments = 1;`
     * @param index The index to set the value at.
     * @param value The arguments to set.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("setArguments")
    public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) {
      _builder.setArguments(index, value)
    }/**
     * ```
     * 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.
     * ```
     *
     * `repeated string arguments = 1;`
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("clearArguments")
    public fun com.google.protobuf.kotlin.DslList.clear() {
      _builder.clearArguments()
    }
    /**
     * An uninstantiable, behaviorless type to represent the field in
     * generics.
     */
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    public class EnvironmentVariablesProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
    /**
     * ```
     * 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][build.bazel.remote.execution.v2.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.
     * ```
     *
     * `repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2;`
     */
     public val environmentVariables: com.google.protobuf.kotlin.DslList
      @kotlin.jvm.JvmSynthetic
      get() = com.google.protobuf.kotlin.DslList(
        _builder.getEnvironmentVariablesList()
      )
    /**
     * ```
     * 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][build.bazel.remote.execution.v2.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.
     * ```
     *
     * `repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2;`
     * @param value The environmentVariables to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addEnvironmentVariables")
    public fun com.google.protobuf.kotlin.DslList.add(value: build.bazel.remote.execution.v2.Command.EnvironmentVariable) {
      _builder.addEnvironmentVariables(value)
    }
    /**
     * ```
     * 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][build.bazel.remote.execution.v2.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.
     * ```
     *
     * `repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2;`
     * @param value The environmentVariables to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignEnvironmentVariables")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: build.bazel.remote.execution.v2.Command.EnvironmentVariable) {
      add(value)
    }
    /**
     * ```
     * 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][build.bazel.remote.execution.v2.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.
     * ```
     *
     * `repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2;`
     * @param values The environmentVariables to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addAllEnvironmentVariables")
    public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) {
      _builder.addAllEnvironmentVariables(values)
    }
    /**
     * ```
     * 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][build.bazel.remote.execution.v2.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.
     * ```
     *
     * `repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2;`
     * @param values The environmentVariables to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignAllEnvironmentVariables")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) {
      addAll(values)
    }
    /**
     * ```
     * 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][build.bazel.remote.execution.v2.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.
     * ```
     *
     * `repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2;`
     * @param index The index to set the value at.
     * @param value The environmentVariables to set.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("setEnvironmentVariables")
    public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: build.bazel.remote.execution.v2.Command.EnvironmentVariable) {
      _builder.setEnvironmentVariables(index, value)
    }
    /**
     * ```
     * 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][build.bazel.remote.execution.v2.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.
     * ```
     *
     * `repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2;`
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("clearEnvironmentVariables")
    public fun com.google.protobuf.kotlin.DslList.clear() {
      _builder.clearEnvironmentVariables()
    }


    /**
     * An uninstantiable, behaviorless type to represent the field in
     * generics.
     */
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    public class OutputFilesProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
    /**
     * ```
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_files = 3;`
     * @return A list containing the outputFiles.
     */
    public val outputFiles: com.google.protobuf.kotlin.DslList
      @kotlin.jvm.JvmSynthetic
      get() = com.google.protobuf.kotlin.DslList(
        _builder.getOutputFilesList()
      )
    /**
     * ```
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_files = 3;`
     * @param value The outputFiles to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addOutputFiles")
    public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) {
      _builder.addOutputFiles(value)
    }
    /**
     * ```
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_files = 3;`
     * @param value The outputFiles to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignOutputFiles")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) {
      add(value)
    }
    /**
     * ```
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_files = 3;`
     * @param values The outputFiles to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addAllOutputFiles")
    public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) {
      _builder.addAllOutputFiles(values)
    }
    /**
     * ```
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_files = 3;`
     * @param values The outputFiles to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignAllOutputFiles")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) {
      addAll(values)
    }
    /**
     * ```
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_files = 3;`
     * @param index The index to set the value at.
     * @param value The outputFiles to set.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("setOutputFiles")
    public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) {
      _builder.setOutputFiles(index, value)
    }/**
     * ```
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_files = 3;`
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("clearOutputFiles")
    public fun com.google.protobuf.kotlin.DslList.clear() {
      _builder.clearOutputFiles()
    }
    /**
     * An uninstantiable, behaviorless type to represent the field in
     * generics.
     */
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    public class OutputDirectoriesProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
    /**
     * ```
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_directories = 4;`
     * @return A list containing the outputDirectories.
     */
    public val outputDirectories: com.google.protobuf.kotlin.DslList
      @kotlin.jvm.JvmSynthetic
      get() = com.google.protobuf.kotlin.DslList(
        _builder.getOutputDirectoriesList()
      )
    /**
     * ```
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_directories = 4;`
     * @param value The outputDirectories to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addOutputDirectories")
    public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) {
      _builder.addOutputDirectories(value)
    }
    /**
     * ```
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_directories = 4;`
     * @param value The outputDirectories to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignOutputDirectories")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) {
      add(value)
    }
    /**
     * ```
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_directories = 4;`
     * @param values The outputDirectories to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addAllOutputDirectories")
    public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) {
      _builder.addAllOutputDirectories(values)
    }
    /**
     * ```
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_directories = 4;`
     * @param values The outputDirectories to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignAllOutputDirectories")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) {
      addAll(values)
    }
    /**
     * ```
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_directories = 4;`
     * @param index The index to set the value at.
     * @param value The outputDirectories to set.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("setOutputDirectories")
    public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) {
      _builder.setOutputDirectories(index, value)
    }/**
     * ```
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * ```
     *
     * `repeated string output_directories = 4;`
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("clearOutputDirectories")
    public fun com.google.protobuf.kotlin.DslList.clear() {
      _builder.clearOutputDirectories()
    }
    /**
     * An uninstantiable, behaviorless type to represent the field in
     * generics.
     */
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    public class OutputPathsProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
    /**
     * ```
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * ```
     *
     * `repeated string output_paths = 7;`
     * @return A list containing the outputPaths.
     */
    public val outputPaths: com.google.protobuf.kotlin.DslList
      @kotlin.jvm.JvmSynthetic
      get() = com.google.protobuf.kotlin.DslList(
        _builder.getOutputPathsList()
      )
    /**
     * ```
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * ```
     *
     * `repeated string output_paths = 7;`
     * @param value The outputPaths to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addOutputPaths")
    public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) {
      _builder.addOutputPaths(value)
    }
    /**
     * ```
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * ```
     *
     * `repeated string output_paths = 7;`
     * @param value The outputPaths to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignOutputPaths")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) {
      add(value)
    }
    /**
     * ```
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * ```
     *
     * `repeated string output_paths = 7;`
     * @param values The outputPaths to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addAllOutputPaths")
    public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) {
      _builder.addAllOutputPaths(values)
    }
    /**
     * ```
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * ```
     *
     * `repeated string output_paths = 7;`
     * @param values The outputPaths to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignAllOutputPaths")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) {
      addAll(values)
    }
    /**
     * ```
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * ```
     *
     * `repeated string output_paths = 7;`
     * @param index The index to set the value at.
     * @param value The outputPaths to set.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("setOutputPaths")
    public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) {
      _builder.setOutputPaths(index, value)
    }/**
     * ```
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * ```
     *
     * `repeated string output_paths = 7;`
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("clearOutputPaths")
    public fun com.google.protobuf.kotlin.DslList.clear() {
      _builder.clearOutputPaths()
    }
    /**
     * ```
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * ```
     *
     * `.build.bazel.remote.execution.v2.Platform platform = 5;`
     */
    public var platform: build.bazel.remote.execution.v2.Platform
      @JvmName("getPlatform")
      get() = _builder.getPlatform()
      @JvmName("setPlatform")
      set(value) {
        _builder.setPlatform(value)
      }
    /**
     * ```
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * ```
     *
     * `.build.bazel.remote.execution.v2.Platform platform = 5;`
     */
    public fun clearPlatform() {
      _builder.clearPlatform()
    }
    /**
     * ```
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * ```
     *
     * `.build.bazel.remote.execution.v2.Platform platform = 5;`
     * @return Whether the platform field is set.
     */
    public fun hasPlatform(): kotlin.Boolean {
      return _builder.hasPlatform()
    }

    /**
     * ```
     * The working directory, relative to the input root, for the command to run
     * in. It must be a directory which exists in the input tree. If it is left
     * empty, then the action is run in the input root.
     * ```
     *
     * `string working_directory = 6;`
     */
    public var workingDirectory: kotlin.String
      @JvmName("getWorkingDirectory")
      get() = _builder.getWorkingDirectory()
      @JvmName("setWorkingDirectory")
      set(value) {
        _builder.setWorkingDirectory(value)
      }
    /**
     * ```
     * The working directory, relative to the input root, for the command to run
     * in. It must be a directory which exists in the input tree. If it is left
     * empty, then the action is run in the input root.
     * ```
     *
     * `string working_directory = 6;`
     */
    public fun clearWorkingDirectory() {
      _builder.clearWorkingDirectory()
    }

    /**
     * An uninstantiable, behaviorless type to represent the field in
     * generics.
     */
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    public class OutputNodePropertiesProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
    /**
     * ```
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * ```
     *
     * `repeated string output_node_properties = 8;`
     * @return A list containing the outputNodeProperties.
     */
    public val outputNodeProperties: com.google.protobuf.kotlin.DslList
      @kotlin.jvm.JvmSynthetic
      get() = com.google.protobuf.kotlin.DslList(
        _builder.getOutputNodePropertiesList()
      )
    /**
     * ```
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * ```
     *
     * `repeated string output_node_properties = 8;`
     * @param value The outputNodeProperties to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addOutputNodeProperties")
    public fun com.google.protobuf.kotlin.DslList.add(value: kotlin.String) {
      _builder.addOutputNodeProperties(value)
    }
    /**
     * ```
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * ```
     *
     * `repeated string output_node_properties = 8;`
     * @param value The outputNodeProperties to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignOutputNodeProperties")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: kotlin.String) {
      add(value)
    }
    /**
     * ```
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * ```
     *
     * `repeated string output_node_properties = 8;`
     * @param values The outputNodeProperties to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("addAllOutputNodeProperties")
    public fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) {
      _builder.addAllOutputNodeProperties(values)
    }
    /**
     * ```
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * ```
     *
     * `repeated string output_node_properties = 8;`
     * @param values The outputNodeProperties to add.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("plusAssignAllOutputNodeProperties")
    @Suppress("NOTHING_TO_INLINE")
    public inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) {
      addAll(values)
    }
    /**
     * ```
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * ```
     *
     * `repeated string output_node_properties = 8;`
     * @param index The index to set the value at.
     * @param value The outputNodeProperties to set.
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("setOutputNodeProperties")
    public operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: kotlin.String) {
      _builder.setOutputNodeProperties(index, value)
    }/**
     * ```
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * ```
     *
     * `repeated string output_node_properties = 8;`
     */
    @kotlin.jvm.JvmSynthetic
    @kotlin.jvm.JvmName("clearOutputNodeProperties")
    public fun com.google.protobuf.kotlin.DslList.clear() {
      _builder.clearOutputNodeProperties()
    }}
  @kotlin.jvm.JvmName("-initializeenvironmentVariable")
  public inline fun environmentVariable(block: build.bazel.remote.execution.v2.CommandKt.EnvironmentVariableKt.Dsl.() -> kotlin.Unit): build.bazel.remote.execution.v2.Command.EnvironmentVariable =
    build.bazel.remote.execution.v2.CommandKt.EnvironmentVariableKt.Dsl._create(build.bazel.remote.execution.v2.Command.EnvironmentVariable.newBuilder()).apply { block() }._build()
  /**
   * ```
   * An `EnvironmentVariable` is one variable to set in the running program's
   * environment.
   * ```
   *
   * Protobuf type `build.bazel.remote.execution.v2.Command.EnvironmentVariable`
   */
  public object EnvironmentVariableKt {
    @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
    @com.google.protobuf.kotlin.ProtoDslMarker
    public class Dsl private constructor(
      private val _builder: build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder
    ) {
      public companion object {
        @kotlin.jvm.JvmSynthetic
        @kotlin.PublishedApi
        internal fun _create(builder: build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder): Dsl = Dsl(builder)
      }

      @kotlin.jvm.JvmSynthetic
      @kotlin.PublishedApi
      internal fun _build(): build.bazel.remote.execution.v2.Command.EnvironmentVariable = _builder.build()

      /**
       * ```
       * The variable name.
       * ```
       *
       * `string name = 1;`
       */
      public var name: kotlin.String
        @JvmName("getName")
        get() = _builder.getName()
        @JvmName("setName")
        set(value) {
          _builder.setName(value)
        }
      /**
       * ```
       * The variable name.
       * ```
       *
       * `string name = 1;`
       */
      public fun clearName() {
        _builder.clearName()
      }

      /**
       * ```
       * The variable value.
       * ```
       *
       * `string value = 2;`
       */
      public var value: kotlin.String
        @JvmName("getValue")
        get() = _builder.getValue()
        @JvmName("setValue")
        set(value) {
          _builder.setValue(value)
        }
      /**
       * ```
       * The variable value.
       * ```
       *
       * `string value = 2;`
       */
      public fun clearValue() {
        _builder.clearValue()
      }
    }
  }
}
@kotlin.jvm.JvmSynthetic
public inline fun build.bazel.remote.execution.v2.Command.copy(block: `build.bazel.remote.execution.v2`.CommandKt.Dsl.() -> kotlin.Unit): build.bazel.remote.execution.v2.Command =
  `build.bazel.remote.execution.v2`.CommandKt.Dsl._create(this.toBuilder()).apply { block() }._build()

@kotlin.jvm.JvmSynthetic
public inline fun build.bazel.remote.execution.v2.Command.EnvironmentVariable.copy(block: `build.bazel.remote.execution.v2`.CommandKt.EnvironmentVariableKt.Dsl.() -> kotlin.Unit): build.bazel.remote.execution.v2.Command.EnvironmentVariable =
  `build.bazel.remote.execution.v2`.CommandKt.EnvironmentVariableKt.Dsl._create(this.toBuilder()).apply { block() }._build()

public val build.bazel.remote.execution.v2.CommandOrBuilder.platformOrNull: build.bazel.remote.execution.v2.Platform?
  get() = if (hasPlatform()) getPlatform() else null





© 2015 - 2024 Weber Informatics LLC | Privacy Policy