Class: Google::Apis::BatchV1::Runnable

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

Overview

Runnable describes instructions for executing a specific script or container as part of a Task.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Runnable

Returns a new instance of Runnable.



2105
2106
2107
# File 'lib/google/apis/batch_v1/classes.rb', line 2105

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

Instance Attribute Details

#always_runBoolean Also known as: always_run?

By default, after a Runnable fails, no further Runnable are executed. This flag indicates that this Runnable must be run even if the Task has already failed. This is useful for Runnables that copy output files off of the VM or for debugging. The always_run flag does not override the Task's overall max_run_duration. If the max_run_duration has expired then no further Runnables will execute, not even always_run Runnables. Corresponds to the JSON property alwaysRun

Returns:

  • (Boolean)


2039
2040
2041
# File 'lib/google/apis/batch_v1/classes.rb', line 2039

def always_run
  @always_run
end

#backgroundBoolean Also known as: background?

Normally, a runnable that doesn't exit causes its task to fail. However, you can set this field to true to configure a background runnable. Background runnables are allowed continue running in the background while the task executes subsequent runnables. For example, background runnables are useful for providing services to other runnables or providing debugging-support tools like SSH servers. Specifically, background runnables are killed automatically ( if they have not already exited) a short time after all foreground runnables have completed. Even though this is likely to result in a non-zero exit status for the background runnable, these automatic kills are not treated as task failures. Corresponds to the JSON property background

Returns:

  • (Boolean)


2054
2055
2056
# File 'lib/google/apis/batch_v1/classes.rb', line 2054

def background
  @background
end

#barrierGoogle::Apis::BatchV1::Barrier

A barrier runnable automatically blocks the execution of subsequent runnables until all the tasks in the task group reach the barrier. Corresponds to the JSON property barrier



2061
2062
2063
# File 'lib/google/apis/batch_v1/classes.rb', line 2061

def barrier
  @barrier
end

#containerGoogle::Apis::BatchV1::Container

Container runnable. Corresponds to the JSON property container



2066
2067
2068
# File 'lib/google/apis/batch_v1/classes.rb', line 2066

def container
  @container
end

#display_nameString

Optional. DisplayName is an optional field that can be provided by the caller. If provided, it will be used in logs and other outputs to identify the script, making it easier for users to understand the logs. If not provided the index of the runnable will be used for outputs. Corresponds to the JSON property displayName

Returns:

  • (String)


2074
2075
2076
# File 'lib/google/apis/batch_v1/classes.rb', line 2074

def display_name
  @display_name
end

#environmentGoogle::Apis::BatchV1::Environment

An Environment describes a collection of environment variables to set when executing Tasks. Corresponds to the JSON property environment



2080
2081
2082
# File 'lib/google/apis/batch_v1/classes.rb', line 2080

def environment
  @environment
end

#ignore_exit_statusBoolean Also known as: ignore_exit_status?

Normally, a runnable that returns a non-zero exit status fails and causes the task to fail. However, you can set this field to true to allow the task to continue executing its other runnables even if this runnable fails. Corresponds to the JSON property ignoreExitStatus

Returns:

  • (Boolean)


2087
2088
2089
# File 'lib/google/apis/batch_v1/classes.rb', line 2087

def ignore_exit_status
  @ignore_exit_status
end

#labelsHash<String,String>

Labels for this Runnable. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


2093
2094
2095
# File 'lib/google/apis/batch_v1/classes.rb', line 2093

def labels
  @labels
end

#scriptGoogle::Apis::BatchV1::Script

Script runnable. Corresponds to the JSON property script



2098
2099
2100
# File 'lib/google/apis/batch_v1/classes.rb', line 2098

def script
  @script
end

#timeoutString

Timeout for this Runnable. Corresponds to the JSON property timeout

Returns:

  • (String)


2103
2104
2105
# File 'lib/google/apis/batch_v1/classes.rb', line 2103

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
# File 'lib/google/apis/batch_v1/classes.rb', line 2110

def update!(**args)
  @always_run = args[:always_run] if args.key?(:always_run)
  @background = args[:background] if args.key?(:background)
  @barrier = args[:barrier] if args.key?(:barrier)
  @container = args[:container] if args.key?(:container)
  @display_name = args[:display_name] if args.key?(:display_name)
  @environment = args[:environment] if args.key?(:environment)
  @ignore_exit_status = args[:ignore_exit_status] if args.key?(:ignore_exit_status)
  @labels = args[:labels] if args.key?(:labels)
  @script = args[:script] if args.key?(:script)
  @timeout = args[:timeout] if args.key?(:timeout)
end