---
title: "POST /v1/{+parent}/tasks"
method: POST
path: "/v1/{+parent}/tasks"
tags: ["projects"]
---

# POST /v1/{+parent}/tasks

`POST /v1/{+parent}/tasks`

Creates a task resource within a lake.

## Path parameters

- `parent` string, required

## Query parameters

- `taskId` string
- `validateOnly` boolean

## Request body

- GoogleCloudDataplexV1Task — A task represents a user-visible job.
  - `uid` string — Output only. System generated globally unique ID for the task. This ID will be different if the task is deleted and re-created with the same name.
  - `executionStatus` GoogleCloudDataplexV1TaskExecutionStatus — Status of the task execution (e.g. Jobs).
    - `updateTime` string, google-datetime — Output only. Last update time of the status.
    - `latestJob` GoogleCloudDataplexV1Job — A job represents an instance of a task.
      - `trigger` 'TRIGGER_UNSPECIFIED' | 'TASK_CONFIG' | 'RUN_REQUEST' — Output only. Job execution trigger.
      - `uid` string — Output only. System generated globally unique ID for the job.
      - `service` 'SERVICE_UNSPECIFIED' | 'DATAPROC' — Output only. The underlying service running a job.
      - `state` 'STATE_UNSPECIFIED' | 'RUNNING' | 'CANCELLING' | 'CANCELLED' | 'SUCCEEDED' | 'FAILED' | 'ABORTED' — Output only. Execution state for the job.
      - `executionSpec` GoogleCloudDataplexV1TaskExecutionSpec — Execution related settings, like retry and service_account.
        - `kmsKey` string — Optional. The Cloud KMS key to use for encryption, of the form: projects/{project_number}/locations/{location_id}/keyRings/{key-ring-name}/cryptoKeys/{key-name}.
        - `args` object — Optional. The arguments to pass to the task. The args can use placeholders of the format ${placeholder} as part of key/value string. These will be interpolated before passing the args to the driver. Currently supported placeholders: - ${task_id} - ${job_time} To pass positional args, set the key as TASK_ARGS. The value should be a comma-separated string of all the positional arguments. To use a delimiter other than comma, refer to https://cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys being present in the args, then TASK_ARGS will be passed as the last argument.
        - `serviceAccount` string — Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used.
        - `maxJobExecutionLifetime` string, google-duration — Optional. The maximum duration after which the job execution is expired.
        - `project` string — Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project.
      - `name` string — Output only. The relative resource name of the job, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}/jobs/{job_id}.
      - `message` string — Output only. Additional information about the current state.
      - `retryCount` integer — Output only. The number of times the job has been retried (excluding the initial attempt).
      - `serviceJob` string — Output only. The full resource name for the job run under a particular service.
      - `startTime` string, google-datetime — Output only. The time when the job was started.
      - `labels` object — Output only. User-defined labels for the task.
      - `endTime` string, google-datetime — Output only. The time when the job ended.
  - `displayName` string — Optional. User friendly display name.
  - `notebook` GoogleCloudDataplexV1TaskNotebookTaskConfig — Config for running scheduled notebooks.
    - `infrastructureSpec` GoogleCloudDataplexV1TaskInfrastructureSpec — Configuration for the underlying infrastructure used to run workloads.
      - `batch` GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources — Batch compute resources associated with the task.
        - `executorsCount` integer — Optional. Total number of job executors. Executor Count should be between 2 and 100. Default=2
        - `maxExecutorsCount` integer — Optional. Max configurable executors. If max_executors_count > executors_count, then auto-scaling is enabled. Max Executor Count should be between 2 and 1000. Default=1000
      - `containerImage` GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime — Container Image Runtime Configuration used with Batch execution.
        - `image` string — Optional. Container image to use.
        - `javaJars` string[] — Optional. A list of Java JARS to add to the classpath. Valid input includes Cloud Storage URIs to Jar binaries. For example, gs://bucket-name/my/path/to/file.jar
        - `pythonPackages` string[] — Optional. A list of python packages to be installed. Valid formats include Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/my/path/to/lib.tar.gz
        - `properties` object — Optional. Override to common configuration of open source components installed on the Dataproc cluster. The properties to set on daemon config files. Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. For more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
      - `vpcNetwork` GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork — Cloud VPC Network used to run the infrastructure.
        - `network` string — Optional. The Cloud VPC network in which the job is run. By default, the Cloud VPC network named Default within the project is used.
        - `subNetwork` string — Optional. The Cloud VPC sub-network in which the job is run.
        - `networkTags` string[] — Optional. List of network tags to apply to the job.
    - `archiveUris` string[] — Optional. Cloud Storage URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
    - `notebook` string — Required. Path to input notebook. This can be the Cloud Storage URI of the notebook file or the path to a Notebook Content. The execution args are accessible as environment variables (TASK_key=value).
    - `fileUris` string[] — Optional. Cloud Storage URIs of files to be placed in the working directory of each executor.
  - `labels` object — Optional. User-defined labels for the task.
  - `updateTime` string, google-datetime — Output only. The time when the task was last updated.
  - `createTime` string, google-datetime — Output only. The time when the task was created.
  - `triggerSpec` GoogleCloudDataplexV1TaskTriggerSpec — Task scheduling and trigger settings.
    - `type` 'TYPE_UNSPECIFIED' | 'ON_DEMAND' | 'RECURRING' — Required. Immutable. Trigger type of the user-specified Task.
    - `startTime` string, google-datetime — Optional. The first run of the task will be after this time. If not specified, the task will run shortly after being submitted if ON_DEMAND and based on the schedule if RECURRING.
    - `disabled` boolean — Optional. Prevent the task from executing. This does not cancel already running tasks. It is intended to temporarily disable RECURRING tasks.
    - `maxRetries` integer — Optional. Number of retry attempts before aborting. Set to zero to never attempt to retry a failed task.
    - `schedule` string — Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running tasks periodically. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, CRON_TZ=America/New_York 1 * * * *, or TZ=America/New_York 1 * * * *. This field is required for RECURRING tasks.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'CREATING' | 'DELETING' | 'ACTION_REQUIRED' — Output only. Current state of the task.
  - `name` string — Output only. The relative resource name of the task, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}.
  - `description` string — Optional. Description of the task.
  - `executionSpec` GoogleCloudDataplexV1TaskExecutionSpec — Execution related settings, like retry and service_account.
    - `kmsKey` string — Optional. The Cloud KMS key to use for encryption, of the form: projects/{project_number}/locations/{location_id}/keyRings/{key-ring-name}/cryptoKeys/{key-name}.
    - `args` object — Optional. The arguments to pass to the task. The args can use placeholders of the format ${placeholder} as part of key/value string. These will be interpolated before passing the args to the driver. Currently supported placeholders: - ${task_id} - ${job_time} To pass positional args, set the key as TASK_ARGS. The value should be a comma-separated string of all the positional arguments. To use a delimiter other than comma, refer to https://cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys being present in the args, then TASK_ARGS will be passed as the last argument.
    - `serviceAccount` string — Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used.
    - `maxJobExecutionLifetime` string, google-duration — Optional. The maximum duration after which the job execution is expired.
    - `project` string — Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project.
  - `spark` GoogleCloudDataplexV1TaskSparkTaskConfig — User-specified config for running a Spark task.
    - `infrastructureSpec` GoogleCloudDataplexV1TaskInfrastructureSpec — Configuration for the underlying infrastructure used to run workloads.
      - `batch` GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources — Batch compute resources associated with the task.
        - `executorsCount` integer — Optional. Total number of job executors. Executor Count should be between 2 and 100. Default=2
        - `maxExecutorsCount` integer — Optional. Max configurable executors. If max_executors_count > executors_count, then auto-scaling is enabled. Max Executor Count should be between 2 and 1000. Default=1000
      - `containerImage` GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime — Container Image Runtime Configuration used with Batch execution.
        - `image` string — Optional. Container image to use.
        - `javaJars` string[] — Optional. A list of Java JARS to add to the classpath. Valid input includes Cloud Storage URIs to Jar binaries. For example, gs://bucket-name/my/path/to/file.jar
        - `pythonPackages` string[] — Optional. A list of python packages to be installed. Valid formats include Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/my/path/to/lib.tar.gz
        - `properties` object — Optional. Override to common configuration of open source components installed on the Dataproc cluster. The properties to set on daemon config files. Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. For more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
      - `vpcNetwork` GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork — Cloud VPC Network used to run the infrastructure.
        - `network` string — Optional. The Cloud VPC network in which the job is run. By default, the Cloud VPC network named Default within the project is used.
        - `subNetwork` string — Optional. The Cloud VPC sub-network in which the job is run.
        - `networkTags` string[] — Optional. List of network tags to apply to the job.
    - `pythonScriptFile` string — The Gcloud Storage URI of the main Python file to use as the driver. Must be a .py file. The execution args are passed in as a sequence of named process arguments (--key=value).
    - `archiveUris` string[] — Optional. Cloud Storage URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
    - `sqlScriptFile` string — A reference to a query file. This should be the Cloud Storage URI of the query file. The execution args are used to declare a set of script variables (set key="value";).
    - `sqlScript` string — The query text. The execution args are used to declare a set of script variables (set key="value";).
    - `mainJarFileUri` string — The Cloud Storage URI of the jar file that contains the main class. The execution args are passed in as a sequence of named process arguments (--key=value).
    - `mainClass` string — The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in jar_file_uris. The execution args are passed in as a sequence of named process arguments (--key=value).
    - `fileUris` string[] — Optional. Cloud Storage URIs of files to be placed in the working directory of each executor.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/dataplex.md) · [All operations](https://skmtc.net/google/apis/dataplex/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/dataplex/versions/43a3b60ca93b/schema)
