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.



1882
1883
1884
# File 'lib/google/apis/batch_v1/classes.rb', line 1882

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)


1833
1834
1835
# File 'lib/google/apis/batch_v1/classes.rb', line 1833

def always_run
  @always_run
end

#backgroundBoolean Also known as: background?

This flag allows a Runnable to continue running in the background while the Task executes subsequent Runnables. This is useful to provide services to other Runnables (or to provide debugging support tools like SSH servers). Corresponds to the JSON property background

Returns:

  • (Boolean)


1841
1842
1843
# File 'lib/google/apis/batch_v1/classes.rb', line 1841

def background
  @background
end

#barrierGoogle::Apis::BatchV1::Barrier

Barrier runnable blocks until all tasks in a taskgroup reach it. Corresponds to the JSON property barrier



1847
1848
1849
# File 'lib/google/apis/batch_v1/classes.rb', line 1847

def barrier
  @barrier
end

#containerGoogle::Apis::BatchV1::Container

Container runnable. Corresponds to the JSON property container



1852
1853
1854
# File 'lib/google/apis/batch_v1/classes.rb', line 1852

def container
  @container
end

#environmentGoogle::Apis::BatchV1::Environment

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



1858
1859
1860
# File 'lib/google/apis/batch_v1/classes.rb', line 1858

def environment
  @environment
end

#ignore_exit_statusBoolean Also known as: ignore_exit_status?

Normally, a non-zero exit status causes the Task to fail. This flag allows execution of other Runnables to continue instead. Corresponds to the JSON property ignoreExitStatus

Returns:

  • (Boolean)


1864
1865
1866
# File 'lib/google/apis/batch_v1/classes.rb', line 1864

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


1870
1871
1872
# File 'lib/google/apis/batch_v1/classes.rb', line 1870

def labels
  @labels
end

#scriptGoogle::Apis::BatchV1::Script

Script runnable. Corresponds to the JSON property script



1875
1876
1877
# File 'lib/google/apis/batch_v1/classes.rb', line 1875

def script
  @script
end

#timeoutString

Timeout for this Runnable. Corresponds to the JSON property timeout

Returns:

  • (String)


1880
1881
1882
# File 'lib/google/apis/batch_v1/classes.rb', line 1880

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
# File 'lib/google/apis/batch_v1/classes.rb', line 1887

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