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.



2626
2627
2628
# File 'lib/google/apis/batch_v1/classes.rb', line 2626

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

Instance Attribute Details

#compute_resourceGoogle::Apis::BatchV1::ComputeResource

Compute resource requirements. ComputeResource defines the amount of resources required for each task. Make sure your tasks have enough resources to successfully run. If you also define the types of resources for a job to use with the InstancePolicyOrTemplate field, make sure both fields are compatible with each other. Corresponds to the JSON property computeResource



2568
2569
2570
# File 'lib/google/apis/batch_v1/classes.rb', line 2568

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



2574
2575
2576
# File 'lib/google/apis/batch_v1/classes.rb', line 2574

def environment
  @environment
end

#environmentsHash<String,String>

Deprecated: please use environment(non-plural) instead. Corresponds to the JSON property environments

Returns:

  • (Hash<String,String>)


2579
2580
2581
# File 'lib/google/apis/batch_v1/classes.rb', line 2579

def environments
  @environments
end

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

Lifecycle management schema when any task in a task group is failed. Currently we only support one lifecycle policy. When the lifecycle policy condition is met, the action in the policy will execute. If task execution result does not meet with 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



2589
2590
2591
# File 'lib/google/apis/batch_v1/classes.rb', line 2589

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)


2595
2596
2597
# File 'lib/google/apis/batch_v1/classes.rb', line 2595

def max_retry_count
  @max_retry_count
end

#max_run_durationString

Maximum duration the task should run before being automatically retried (if enabled) or automatically failed. Format the value of this field as a time limit in seconds followed by s—for example, 3600s for 1 hour. The field accepts any value between 0 and the maximum listed for the Duration field type at https://protobuf.dev/reference/protobuf/google.protobuf/#duration; however, the actual maximum run time for a job will be limited to the maximum run time for a job listed at https://cloud.google.com/batch/quotas#max-job- duration. Corresponds to the JSON property maxRunDuration

Returns:

  • (String)


2607
2608
2609
# File 'lib/google/apis/batch_v1/classes.rb', line 2607

def max_run_duration
  @max_run_duration
end

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

Required. The sequence of one or more runnables (executable scripts, executable containers, and/or barriers) for each task in this task group to run. Each task runs this list of runnables in order. For a task to succeed, all of its script and container runnables each must meet at least one of the following conditions: + The runnable exited with a zero status. + The runnable didn't finish, but you enabled its background subfield. + The runnable exited with a non-zero status, but you enabled its ignore_exit_status subfield. Corresponds to the JSON property runnables



2619
2620
2621
# File 'lib/google/apis/batch_v1/classes.rb', line 2619

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:



2624
2625
2626
# File 'lib/google/apis/batch_v1/classes.rb', line 2624

def volumes
  @volumes
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
# File 'lib/google/apis/batch_v1/classes.rb', line 2631

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