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.



1867
1868
1869
# File 'lib/google/apis/batch_v1/classes.rb', line 1867

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)


1818
1819
1820
# File 'lib/google/apis/batch_v1/classes.rb', line 1818

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)


1826
1827
1828
# File 'lib/google/apis/batch_v1/classes.rb', line 1826

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



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

def barrier
  @barrier
end

#containerGoogle::Apis::BatchV1::Container

Container runnable. Corresponds to the JSON property container



1837
1838
1839
# File 'lib/google/apis/batch_v1/classes.rb', line 1837

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



1843
1844
1845
# File 'lib/google/apis/batch_v1/classes.rb', line 1843

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)


1849
1850
1851
# File 'lib/google/apis/batch_v1/classes.rb', line 1849

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


1855
1856
1857
# File 'lib/google/apis/batch_v1/classes.rb', line 1855

def labels
  @labels
end

#scriptGoogle::Apis::BatchV1::Script

Script runnable. Corresponds to the JSON property script



1860
1861
1862
# File 'lib/google/apis/batch_v1/classes.rb', line 1860

def script
  @script
end

#timeoutString

Timeout for this Runnable. Corresponds to the JSON property timeout

Returns:

  • (String)


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

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
# File 'lib/google/apis/batch_v1/classes.rb', line 1872

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