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.



2166
2167
2168
# File 'lib/google/apis/batch_v1/classes.rb', line 2166

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)


2100
2101
2102
# File 'lib/google/apis/batch_v1/classes.rb', line 2100

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)


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

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



2122
2123
2124
# File 'lib/google/apis/batch_v1/classes.rb', line 2122

def barrier
  @barrier
end

#containerGoogle::Apis::BatchV1::Container

Container runnable. Corresponds to the JSON property container



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

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)


2135
2136
2137
# File 'lib/google/apis/batch_v1/classes.rb', line 2135

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



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

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)


2148
2149
2150
# File 'lib/google/apis/batch_v1/classes.rb', line 2148

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


2154
2155
2156
# File 'lib/google/apis/batch_v1/classes.rb', line 2154

def labels
  @labels
end

#scriptGoogle::Apis::BatchV1::Script

Script runnable. Corresponds to the JSON property script



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

def script
  @script
end

#timeoutString

Timeout for this Runnable. Corresponds to the JSON property timeout

Returns:

  • (String)


2164
2165
2166
# File 'lib/google/apis/batch_v1/classes.rb', line 2164

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
# File 'lib/google/apis/batch_v1/classes.rb', line 2171

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