CustomJobCustomJob
CustomJobCertified

Start a custom job in Google Vertex AI.

Start a custom job in Google Vertex AI.

For more details, check out the custom job documentation.

yaml
type: "io.kestra.plugin.gcp.vertexai.CustomJob"
yaml
id: gcp_vertexai_custom_job
namespace: company.team

tasks:
  - id: custom_job
    type: io.kestra.plugin.gcp.vertexai.CustomJob
    projectId: my-gcp-project
    region: europe-west1
    displayName: Start Custom Job
    spec:
      workerPoolSpecs:
      - containerSpec:
          imageUri: gcr.io/my-gcp-project/my-dir/my-image:latest
        machineSpec:
          machineType: n1-standard-4
        replicaCount: 1
Properties

The job display name.

The GCP region.

The job specification.

Definitions
workerPoolSpecs*Requiredarray
Min items1

The spec of the worker pools including machine type and Docker image.

All worker pools except the first one are optional and can be skipped

containerSpec*Required

The custom container task.

imageUri*Requiredstring

The URI of a container image in the Container Registry that is to be run on each worker replica.

Must be on google container registry, example: gcr.io/{{ project }}/{{ dir }}/{{ image }}: {{ tag }}

argsarray
SubTypestring

The arguments to be passed when starting the container.

commandsarray
SubTypestring

The command to be invoked when the container is started.

It overrides the entrypoint instruction in Dockerfile when provided.

envobject
SubTypestring

Environment variables to be passed to the container.

machineSpec*Required

The specification of a single machine.

machineType*Requiredstring
acceleratorCountintegerstring

The number of accelerators to attach to the machine.

acceleratorTypestring
Possible Values
ACCELERATOR_TYPE_UNSPECIFIEDNVIDIA_TESLA_K80NVIDIA_TESLA_P100NVIDIA_TESLA_V100NVIDIA_TESLA_P4NVIDIA_TESLA_T4NVIDIA_TESLA_A100NVIDIA_A100_80GBNVIDIA_L4NVIDIA_H100_80GBNVIDIA_H100_MEGA_80GBNVIDIA_H200_141GBNVIDIA_B200NVIDIA_GB200NVIDIA_RTX_PRO_6000TPU_V2TPU_V3TPU_V4_PODTPU_V5_LITEPODUNRECOGNIZED

The type of accelerator(s) that may be attached to the machine.

discSpec
bootDiskSizeGbintegerstring
Default100

Size in GB of the boot disk.

bootDiskTypestring
DefaultPD_SSD
Possible Values
PD_SSDPD_STANDARD

Type of the boot disk.

pythonPackageSpec

The python package specs.

args*Requiredarray
SubTypestring
envs*Requiredobject
SubTypestring

Environment variables to be passed to the python module.

Maximum limit is 100.

packageUris*Requiredarray
SubTypestring

The Google Cloud Storage location of the Python package files which are the training program and its dependent packages.

The maximum number of package URIs is 100.

replicaCountintegerstring

The specification of the disk.

baseOutputDirectory

The Cloud Storage location to store the output of this job.

outputUriPrefix*Requiredstring

Google Cloud Storage URI to output directory.

If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.

enableWebAccessbooleanstring

Whether you want Vertex AI to enable interactive shell access to training containers.

networkstring

The full name of the Compute Engine network to which the Job should be peered.

For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. To specify this field, you must have already configured VPC Network Peering for Vertex AI. If this field is left unspecified, the job is not peered with any network.

scheduling

Scheduling options for a CustomJob.

restartJobOnWorkerRestart*Requiredbooleanstring

Restarts the entire CustomJob if a worker gets restarted.

This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.

timeOut*Requiredstring
Formatduration

The maximum job running time. The default is 7 days.

serviceAccountstring

Specifies the service account for workload run-as account.

text
   Users submitting jobs must have act-as permission on this run-as account.
   If unspecified, the [Vertex AI Custom Code Service
   Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
   for the CustomJob's project is used.
tensorboardstring

The name of a Vertex AI Tensorboard resource to which this CustomJob

will upload Tensorboard logs. Format: projects/{project}/locations/{location}/tensorboards/{tensorboard}

Defaulttrue

Delete the job at the end.

The GCP service account to impersonate.

The GCP project ID.

SubTypestring
Default["https://www.googleapis.com/auth/cloud-platform"]

The GCP scopes to be used.

The GCP service account.

Defaulttrue

Wait for the end of the job.

Allowing to capture job status & logs.

Formatdate-time

Time when the CustomJob was created.

Formatdate-time

Time when the CustomJob was ended.

Resource name of a CustomJob.

Possible Values
JOB_STATE_UNSPECIFIEDJOB_STATE_QUEUEDJOB_STATE_PENDINGJOB_STATE_RUNNINGJOB_STATE_SUCCEEDEDJOB_STATE_FAILEDJOB_STATE_CANCELLINGJOB_STATE_CANCELLEDJOB_STATE_PAUSEDJOB_STATE_EXPIREDJOB_STATE_UPDATINGJOB_STATE_PARTIALLY_SUCCEEDEDUNRECOGNIZED

The detailed state of the CustomJob.

Formatdate-time

Time when the CustomJob was updated.