Class: Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Command

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/remotebuildexecution_v1/classes.rb,
generated/google/apis/remotebuildexecution_v1/representations.rb,
generated/google/apis/remotebuildexecution_v1/representations.rb

Overview

A Command is the actual command executed by a worker running an 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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ BuildBazelRemoteExecutionV2Command

Returns a new instance of BuildBazelRemoteExecutionV2Command



462
463
464
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 462

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#argumentsArray<String>

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. Corresponds to the JSON property arguments

Returns:

  • (Array<String>)


386
387
388
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 386

def arguments
  @arguments
end

#environment_variablesArray<Google::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2CommandEnvironmentVariable>

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 Commands 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. Corresponds to the JSON property environmentVariables



397
398
399
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 397

def environment_variables
  @environment_variables
end

#output_directoriesArray<String>

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 message digest, see 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. 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. Corresponds to the JSON property outputDirectories

Returns:

  • (Array<String>)


423
424
425
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 423

def output_directories
  @output_directories
end

#output_filesArray<String>

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. Corresponds to the JSON property outputFiles

Returns:

  • (Array<String>)


444
445
446
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 444

def output_files
  @output_files
end

#platformGoogle::Apis::RemotebuildexecutionV1::BuildBazelRemoteExecutionV2Platform

A Platform is a set of requirements, such as hardware, operating system, or compiler toolchain, for an Action's execution environment. A Platform is represented as a series of key-value pairs representing the properties that are required of the platform. Corresponds to the JSON property platform



453
454
455
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 453

def platform
  @platform
end

#working_directoryString

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. Corresponds to the JSON property workingDirectory

Returns:

  • (String)


460
461
462
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 460

def working_directory
  @working_directory
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



467
468
469
470
471
472
473
474
# File 'generated/google/apis/remotebuildexecution_v1/classes.rb', line 467

def update!(**args)
  @arguments = args[:arguments] if args.key?(:arguments)
  @environment_variables = args[:environment_variables] if args.key?(:environment_variables)
  @output_directories = args[:output_directories] if args.key?(:output_directories)
  @output_files = args[:output_files] if args.key?(:output_files)
  @platform = args[:platform] if args.key?(:platform)
  @working_directory = args[:working_directory] if args.key?(:working_directory)
end