pub struct TaskGroup {
Show 13 fields pub name: String, pub task_spec: Option<TaskSpec>, pub task_count: i64, pub parallelism: i64, pub scheduling_policy: i32, pub allocation_policy: Option<AllocationPolicy>, pub labels: BTreeMap<String, String>, pub task_environments: Vec<Environment>, pub task_count_per_node: i64, pub require_hosts_file: bool, pub permissive_ssh: bool, pub run_as_non_root: bool, pub service_account: Option<ServiceAccount>,
}
Expand description

A TaskGroup defines one or more Tasks that all share the same TaskSpec.

Fields§

§name: String

Output only. TaskGroup name. The system generates this field based on parent Job name. For example: “projects/123456/locations/us-west1/jobs/job01/taskGroups/group01”.

§task_spec: Option<TaskSpec>

Required. Tasks in the group share the same task spec.

§task_count: i64

Number of Tasks in the TaskGroup. Default is 1.

§parallelism: i64

Max number of tasks that can run in parallel. Default to min(task_count, parallel tasks per job limit). See: Job Limits. Field parallelism must be 1 if the scheduling_policy is IN_ORDER.

§scheduling_policy: i32

Scheduling policy for Tasks in the TaskGroup. The default value is AS_SOON_AS_POSSIBLE.

§allocation_policy: Option<AllocationPolicy>

Compute resource allocation for the TaskGroup. If specified, it overrides resources in Job.

§labels: BTreeMap<String, String>

Labels for the TaskGroup. Labels could be user provided or system generated. You can assign up to 64 labels. Google Compute Engine label restrictions apply. Label names that start with “goog-” or “google-” are reserved.

§task_environments: Vec<Environment>

An array of environment variable mappings, which are passed to Tasks with matching indices. If task_environments is used then task_count should not be specified in the request (and will be ignored). Task count will be the length of task_environments.

Tasks get a BATCH_TASK_INDEX and BATCH_TASK_COUNT environment variable, in addition to any environment variables set in task_environments, specifying the number of Tasks in the Task’s parent TaskGroup, and the specific Task’s index in the TaskGroup (0 through BATCH_TASK_COUNT - 1).

§task_count_per_node: i64

Max number of tasks that can be run on a VM at the same time. If not specified, the system will decide a value based on available compute resources on a VM and task requirements.

§require_hosts_file: bool

When true, Batch will populate a file with a list of all VMs assigned to the TaskGroup and set the BATCH_HOSTS_FILE environment variable to the path of that file. Defaults to false. The host file supports up to 1000 VMs.

§permissive_ssh: bool

When true, Batch will configure SSH to allow passwordless login between VMs running the Batch tasks in the same TaskGroup.

§run_as_non_root: bool

Optional. If not set or set to false, Batch uses the root user to execute runnables. If set to true, Batch runs the runnables using a non-root user. Currently, the non-root user Batch used is generated by OS Login. For more information, see About OS Login.

§service_account: Option<ServiceAccount>

Optional. ServiceAccount used by tasks within the task group for the access to other Cloud resources. This allows tasks to operate with permissions distinct from the service account for the VM set at AllocationPolicy. Use this field when tasks require different access rights than those of the VM.

Specify the service account’s email field. Ensure scopes include any necessary permissions for tasks, in addition to the default ‘cloud-platform’ scope.

Implementations§

source§

impl TaskGroup

source

pub fn scheduling_policy(&self) -> SchedulingPolicy

Returns the enum value of scheduling_policy, or the default if the field is set to an invalid enum value.

source

pub fn set_scheduling_policy(&mut self, value: SchedulingPolicy)

Sets scheduling_policy to the provided enum value.

Trait Implementations§

source§

impl Clone for TaskGroup

source§

fn clone(&self) -> TaskGroup

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TaskGroup

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TaskGroup

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for TaskGroup

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for TaskGroup

source§

fn eq(&self, other: &TaskGroup) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for TaskGroup

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more