Class: Google::Apis::BatchV1::TaskSpec

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

Spec of a task

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TaskSpec

Returns a new instance of TaskSpec.



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

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#compute_resourceGoogle::Apis::BatchV1::ComputeResource

Compute resource requirements Corresponds to the JSON property computeResource



2073
2074
2075
# File 'lib/google/apis/batch_v1/classes.rb', line 2073

def compute_resource
  @compute_resource
end

#environmentGoogle::Apis::BatchV1::Environment

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



2079
2080
2081
# File 'lib/google/apis/batch_v1/classes.rb', line 2079

def environment
  @environment
end

#environmentsHash<String,String>

Environment variables to set before running the Task. You can set up to 100 environments. Corresponds to the JSON property environments

Returns:

  • (Hash<String,String>)


2085
2086
2087
# File 'lib/google/apis/batch_v1/classes.rb', line 2085

def environments
  @environments
end

#lifecycle_policiesArray<Google::Apis::BatchV1::LifecyclePolicy>

Lifecycle management schema when any task in a task group is failed. The valid size of lifecycle policies are [0, 10]. For each lifecycle policy, when the condition is met, the action in that policy will execute. If there are multiple policies that the task execution result matches, we use the action from the first matched policy. If task execution result does not meet with any of the defined lifecycle policy, we consider it as the default policy. Default policy means if the exit code is 0, exit task. If task ends with non-zero exit code, retry the task with max_retry_count. Corresponds to the JSON property lifecyclePolicies



2097
2098
2099
# File 'lib/google/apis/batch_v1/classes.rb', line 2097

def lifecycle_policies
  @lifecycle_policies
end

#max_retry_countFixnum

Maximum number of retries on failures. The default, 0, which means never retry. The valid value range is [0, 10]. Corresponds to the JSON property maxRetryCount

Returns:

  • (Fixnum)


2103
2104
2105
# File 'lib/google/apis/batch_v1/classes.rb', line 2103

def max_retry_count
  @max_retry_count
end

#max_run_durationString

Maximum duration the task should run. The task will be killed and marked as FAILED if over this limit. Corresponds to the JSON property maxRunDuration

Returns:

  • (String)


2109
2110
2111
# File 'lib/google/apis/batch_v1/classes.rb', line 2109

def max_run_duration
  @max_run_duration
end

#runnablesArray<Google::Apis::BatchV1::Runnable>

The sequence of scripts or containers to run for this Task. Each Task using this TaskSpec executes its list of runnables in order. The Task succeeds if all of its runnables either exit with a zero status or any that exit with a non-zero status have the ignore_exit_status flag. 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 runnables



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

def runnables
  @runnables
end

#volumesArray<Google::Apis::BatchV1::Volume>

Volumes to mount before running Tasks using this TaskSpec. Corresponds to the JSON property volumes

Returns:



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

def volumes
  @volumes
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
# File 'lib/google/apis/batch_v1/classes.rb', line 2133

def update!(**args)
  @compute_resource = args[:compute_resource] if args.key?(:compute_resource)
  @environment = args[:environment] if args.key?(:environment)
  @environments = args[:environments] if args.key?(:environments)
  @lifecycle_policies = args[:lifecycle_policies] if args.key?(:lifecycle_policies)
  @max_retry_count = args[:max_retry_count] if args.key?(:max_retry_count)
  @max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
  @runnables = args[:runnables] if args.key?(:runnables)
  @volumes = args[:volumes] if args.key?(:volumes)
end