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.



2158
2159
2160
# File 'lib/google/apis/batch_v1/classes.rb', line 2158

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)


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

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)


2107
2108
2109
# File 'lib/google/apis/batch_v1/classes.rb', line 2107

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



2114
2115
2116
# File 'lib/google/apis/batch_v1/classes.rb', line 2114

def barrier
  @barrier
end

#containerGoogle::Apis::BatchV1::Container

Container runnable. Corresponds to the JSON property container



2119
2120
2121
# File 'lib/google/apis/batch_v1/classes.rb', line 2119

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)


2127
2128
2129
# File 'lib/google/apis/batch_v1/classes.rb', line 2127

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



2133
2134
2135
# File 'lib/google/apis/batch_v1/classes.rb', line 2133

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)


2140
2141
2142
# File 'lib/google/apis/batch_v1/classes.rb', line 2140

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>)


2146
2147
2148
# File 'lib/google/apis/batch_v1/classes.rb', line 2146

def labels
  @labels
end

#scriptGoogle::Apis::BatchV1::Script

Script runnable. Corresponds to the JSON property script



2151
2152
2153
# File 'lib/google/apis/batch_v1/classes.rb', line 2151

def script
  @script
end

#timeoutString

Timeout for this Runnable. Corresponds to the JSON property timeout

Returns:

  • (String)


2156
2157
2158
# File 'lib/google/apis/batch_v1/classes.rb', line 2156

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
# File 'lib/google/apis/batch_v1/classes.rb', line 2163

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