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.



1615
1616
1617
# File 'lib/google/apis/batch_v1/classes.rb', line 1615

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)


1566
1567
1568
# File 'lib/google/apis/batch_v1/classes.rb', line 1566

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)


1574
1575
1576
# File 'lib/google/apis/batch_v1/classes.rb', line 1574

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



1580
1581
1582
# File 'lib/google/apis/batch_v1/classes.rb', line 1580

def barrier
  @barrier
end

#containerGoogle::Apis::BatchV1::Container

Container runnable. Corresponds to the JSON property container



1585
1586
1587
# File 'lib/google/apis/batch_v1/classes.rb', line 1585

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



1591
1592
1593
# File 'lib/google/apis/batch_v1/classes.rb', line 1591

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)


1597
1598
1599
# File 'lib/google/apis/batch_v1/classes.rb', line 1597

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


1603
1604
1605
# File 'lib/google/apis/batch_v1/classes.rb', line 1603

def labels
  @labels
end

#scriptGoogle::Apis::BatchV1::Script

Script runnable. Corresponds to the JSON property script



1608
1609
1610
# File 'lib/google/apis/batch_v1/classes.rb', line 1608

def script
  @script
end

#timeoutString

Timeout for this Runnable. Corresponds to the JSON property timeout

Returns:

  • (String)


1613
1614
1615
# File 'lib/google/apis/batch_v1/classes.rb', line 1613

def timeout
  @timeout
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
# File 'lib/google/apis/batch_v1/classes.rb', line 1620

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