

# Jobs API
<a name="aws-glue-api-jobs"></a>

The Jobs API describes jobs data types and contains APIs for working with jobs, job runs, and triggers in AWS Glue.

**Topics**
+ [Jobs](aws-glue-api-jobs-job.md)
+ [Job runs](aws-glue-api-jobs-runs.md)
+ [Triggers](aws-glue-api-jobs-trigger.md)

# Jobs
<a name="aws-glue-api-jobs-job"></a>

The Jobs API describes the data types and API related to creating, updating, deleting, or viewing jobs in AWS Glue.

## Data types
<a name="aws-glue-api-jobs-job-objects"></a>
+ [Job structure](#aws-glue-api-jobs-job-Job)
+ [ExecutionProperty structure](#aws-glue-api-jobs-job-ExecutionProperty)
+ [NotificationProperty structure](#aws-glue-api-jobs-job-NotificationProperty)
+ [JobCommand structure](#aws-glue-api-jobs-job-JobCommand)
+ [ConnectionsList structure](#aws-glue-api-jobs-job-ConnectionsList)
+ [JobUpdate structure](#aws-glue-api-jobs-job-JobUpdate)
+ [SourceControlDetails structure](#aws-glue-api-jobs-job-SourceControlDetails)

## Job structure
<a name="aws-glue-api-jobs-job-Job"></a>

Specifies a job definition.

**Fields**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name you assign to this job definition.
+ `JobMode` – UTF-8 string (valid values: `SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`).

  A mode that describes how a job was created. Valid values are:
  + `SCRIPT` - The job was created using the AWS Glue Studio script editor.
  + `VISUAL` - The job was created using the AWS Glue Studio visual editor.
  + `NOTEBOOK` - The job was created using an interactive sessions notebook.

  When the `JobMode` field is missing or null, `SCRIPT` is assigned as the default value.
+ `JobRunQueuingEnabled` – Boolean.

  Specifies whether job run queuing is enabled for the job runs for this job.

  A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing.

  If this field does not match the value set in the job run, then the value from the job run field will be used.
+ `Description` – Description string, not more than 2048 bytes long, matching the [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  A description of the job.
+ `LogUri` – UTF-8 string.

  This field is reserved for future use.
+ `Role` – UTF-8 string.

  The name or Amazon Resource Name (ARN) of the IAM role associated with this job.
+ `CreatedOn` – Timestamp.

  The time and date that this job definition was created.
+ `LastModifiedOn` – Timestamp.

  The last point in time when this job definition was modified.
+ `ExecutionProperty` – An [ExecutionProperty](#aws-glue-api-jobs-job-ExecutionProperty) object.

  An `ExecutionProperty` specifying the maximum number of concurrent runs allowed for this job.
+ `Command` – A [JobCommand](#aws-glue-api-jobs-job-JobCommand) object.

  The `JobCommand` that runs this job.
+ `DefaultArguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  The default arguments for every run of this job, specified as name-value pairs.

  You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

  Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a AWS Glue Connection, AWS Secrets Manager or other secret management mechanism if you intend to keep them within the Job. 

  For information about how to specify and consume your own Job arguments, see the [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Spark jobs, see the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Ray jobs, see [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html) in the developer guide.
+ `NonOverridableArguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  Arguments for this job that are not overridden when providing job arguments in a job run, specified as name-value pairs.
+ `Connections` – A [ConnectionsList](aws-glue-api-interactive-sessions.md#aws-glue-api-interactive-sessions-ConnectionsList) object.

  The connections used for this job.
+ `MaxRetries` – Number (integer).

  The maximum number of times to retry this job after a JobRun fails.
+ `AllocatedCapacity` – Number (integer).

  This field is deprecated. Use `MaxCapacity` instead.

  The number of AWS Glue data processing units (DPUs) allocated to runs of this job. You can allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).

  
+ `Timeout` – Number (integer), at least 1.

  The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters `TIMEOUT` status.

  Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

  When the value is left blank, the timeout is defaulted to 2880 minutes.

  Any existing AWS Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

  For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.
+ `MaxCapacity` – Number (double).

  For Glue version 1.0 or earlier jobs, using the standard worker type, the number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).

  For Glue version 2.0 or later jobs, you cannot specify a `Maximum capacity`. Instead, you should specify a `Worker type` and the `Number of workers`.

  Do not set `MaxCapacity` if using `WorkerType` and `NumberOfWorkers`.

  The value that can be allocated for `MaxCapacity` depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:
  + When you specify a Python shell job (`JobCommand.Name`="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.
  + When you specify an Apache Spark ETL job (`JobCommand.Name`="glueetl") or Apache Spark streaming ETL job (`JobCommand.Name`="gluestreaming"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
+ `WorkerType` – UTF-8 string (valid values: `Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`).

  The type of predefined worker that is allocated when a job runs.

  AWS Glue provides multiple worker types to accommodate different workload requirements:

  G Worker Types (General-purpose compute workers):
  + G.025X: 0.25 DPU (2 vCPUs, 4 GB memory, 84GB disk)
  + G.1X: 1 DPU (4 vCPUs, 16 GB memory, 94GB disk)
  + G.2X: 2 DPU (8 vCPUs, 32 GB memory, 138GB disk)
  + G.4X: 4 DPU (16 vCPUs, 64 GB memory, 256GB disk)
  + G.8X: 8 DPU (32 vCPUs, 128 GB memory, 512GB disk)
  + G.12X: 12 DPU (48 vCPUs, 192 GB memory, 768GB disk)
  + G.16X: 16 DPU (64 vCPUs, 256 GB memory, 1024GB disk)

  R Worker Types (Memory-optimized workers):
  + R.1X: 1 DPU (4 vCPUs, 32 GB memory, 94GB disk)
  + R.2X: 2 DPU (8 vCPUs, 64 GB memory, 128GB disk)
  + R.4X: 4 DPU (16 vCPUs, 128 GB memory, 256GB disk)
  + R.8X: 8 DPU (32 vCPUs, 256 GB memory, 512GB disk)
+ `NumberOfWorkers` – Number (integer).

  The number of workers of a defined `workerType` that are allocated when a job runs.
+ `SecurityConfiguration` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the `SecurityConfiguration` structure to be used with this job.
+ `NotificationProperty` – A [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) object.

  Specifies configuration properties of a job notification.
+ `Running` – Boolean.

  This field is reserved for future use.
+ `GlueVersion` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Custom string pattern #48](aws-glue-api-common.md#regex_48).

  In Spark jobs, `GlueVersion` determines the versions of Apache Spark and Python that AWS Glue available in a job. The Python version indicates the version supported for jobs of type Spark. 

  Ray jobs should set `GlueVersion` to `4.0` or greater. However, the versions of Ray, Python and additional libraries available in your Ray job are determined by the `Runtime` parameter of the Job command.

  For more information about the available AWS Glue versions and corresponding Spark and Python versions, see [Glue version](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) in the developer guide.

  Jobs that are created without specifying a Glue version default to Glue 5.1.
+ `CodeGenConfigurationNodes` – A map array of key-value pairs.

  Each key is a UTF-8 string, matching the [Custom string pattern #60](aws-glue-api-common.md#regex_60).

  Each value is a A [CodeGenConfigurationNode](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-CodeGenConfigurationNode) object.

  The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.
+ `ExecutionClass` – UTF-8 string, not more than 16 bytes long (valid values: `FLEX=""` \$1 `STANDARD=""`).

  Indicates whether the job is run with a standard or flexible execution class. The standard execution class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

  The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. 

  Only jobs with AWS Glue version 3.0 and above and command type `glueetl` will be allowed to set `ExecutionClass` to `FLEX`. The flexible execution class is available for Spark jobs.
+ `SourceControlDetails` – A [SourceControlDetails](#aws-glue-api-jobs-job-SourceControlDetails) object.

  The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.
+ `MaintenanceWindow` – UTF-8 string, matching the [Custom string pattern #34](aws-glue-api-common.md#regex_34).

  This field specifies a day of the week and hour for a maintenance window for streaming jobs. AWS Glue periodically performs maintenance activities. During these maintenance windows, AWS Glue will need to restart your streaming jobs.

  AWS Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.
+ `ProfileName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of an AWS Glue usage profile associated with the job.

## ExecutionProperty structure
<a name="aws-glue-api-jobs-job-ExecutionProperty"></a>

An execution property of a job.

**Fields**
+ `MaxConcurrentRuns` – Number (integer).

  The maximum number of concurrent runs allowed for the job. The default is 1. An error is returned when this threshold is reached. The maximum value you can specify is controlled by a service limit.

## NotificationProperty structure
<a name="aws-glue-api-jobs-job-NotificationProperty"></a>

Specifies configuration properties of a notification.

**Fields**
+ `NotifyDelayAfter` – Number (integer), at least 1.

  After a job run starts, the number of minutes to wait before sending a job run delay notification.

## JobCommand structure
<a name="aws-glue-api-jobs-job-JobCommand"></a>

Specifies code that runs when a job is run.

**Fields**
+ `Name` – UTF-8 string.

  The name of the job command. For an Apache Spark ETL job, this must be `glueetl`. For a Python shell job, it must be `pythonshell`. For an Apache Spark streaming ETL job, this must be `gluestreaming`. For a Ray job, this must be `glueray`.
+ `ScriptLocation` – UTF-8 string, not more than 400000 bytes long.

  Specifies the Amazon Simple Storage Service (Amazon S3) path to a script that runs a job.
+ `PythonVersion` – UTF-8 string, matching the [Custom string pattern #49](aws-glue-api-common.md#regex_49).

  The Python version being used to run a Python shell job. Allowed values are 2 or 3.
+ `Runtime` – UTF-8 string, not more than 64 bytes long, matching the [Custom string pattern #33](aws-glue-api-common.md#regex_33).

  In Ray jobs, Runtime is used to specify the versions of Ray, Python and additional libraries available in your environment. This field is not used in other job types. For supported runtime environment values, see [Supported Ray runtime environments](https://docs.aws.amazon.com/glue/latest/dg/ray-jobs-section.html) in the AWS Glue Developer Guide.

## ConnectionsList structure
<a name="aws-glue-api-jobs-job-ConnectionsList"></a>

Specifies the connections used by a job.

**Fields**
+ `Connections` – An array of UTF-8 strings, not more than 1000 strings.

  A list of connections used by the job.

## JobUpdate structure
<a name="aws-glue-api-jobs-job-JobUpdate"></a>

Specifies information used to update an existing job definition. The previous job definition is completely overwritten by this information.

**Fields**
+ `JobMode` – UTF-8 string (valid values: `SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`).

  A mode that describes how a job was created. Valid values are:
  + `SCRIPT` - The job was created using the AWS Glue Studio script editor.
  + `VISUAL` - The job was created using the AWS Glue Studio visual editor.
  + `NOTEBOOK` - The job was created using an interactive sessions notebook.

  When the `JobMode` field is missing or null, `SCRIPT` is assigned as the default value.
+ `JobRunQueuingEnabled` – Boolean.

  Specifies whether job run queuing is enabled for the job runs for this job.

  A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing.

  If this field does not match the value set in the job run, then the value from the job run field will be used.
+ `Description` – Description string, not more than 2048 bytes long, matching the [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  Description of the job being defined.
+ `LogUri` – UTF-8 string.

  This field is reserved for future use.
+ `Role` – UTF-8 string.

  The name or Amazon Resource Name (ARN) of the IAM role associated with this job (required).
+ `ExecutionProperty` – An [ExecutionProperty](#aws-glue-api-jobs-job-ExecutionProperty) object.

  An `ExecutionProperty` specifying the maximum number of concurrent runs allowed for this job.
+ `Command` – A [JobCommand](#aws-glue-api-jobs-job-JobCommand) object.

  The `JobCommand` that runs this job (required).
+ `DefaultArguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  The default arguments for every run of this job, specified as name-value pairs.

  You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

  Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a AWS Glue Connection, AWS Secrets Manager or other secret management mechanism if you intend to keep them within the Job. 

  For information about how to specify and consume your own Job arguments, see the [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Spark jobs, see the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Ray jobs, see [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html) in the developer guide.
+ `NonOverridableArguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  Arguments for this job that are not overridden when providing job arguments in a job run, specified as name-value pairs.
+ `Connections` – A [ConnectionsList](aws-glue-api-interactive-sessions.md#aws-glue-api-interactive-sessions-ConnectionsList) object.

  The connections used for this job.
+ `MaxRetries` – Number (integer).

  The maximum number of times to retry this job if it fails.
+ `AllocatedCapacity` – Number (integer).

  This field is deprecated. Use `MaxCapacity` instead.

  The number of AWS Glue data processing units (DPUs) to allocate to this job. You can allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).
+ `Timeout` – Number (integer), at least 1.

  The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters `TIMEOUT` status.

  Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

  When the value is left blank, the timeout is defaulted to 2880 minutes.

  Any existing AWS Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

  For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.
+ `MaxCapacity` – Number (double).

  For Glue version 1.0 or earlier jobs, using the standard worker type, the number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).

  For Glue version 2.0\$1 jobs, you cannot specify a `Maximum capacity`. Instead, you should specify a `Worker type` and the `Number of workers`.

  Do not set `MaxCapacity` if using `WorkerType` and `NumberOfWorkers`.

  The value that can be allocated for `MaxCapacity` depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:
  + When you specify a Python shell job (`JobCommand.Name`="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.
  + When you specify an Apache Spark ETL job (`JobCommand.Name`="glueetl") or Apache Spark streaming ETL job (`JobCommand.Name`="gluestreaming"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
+ `WorkerType` – UTF-8 string (valid values: `Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`).

  The type of predefined worker that is allocated when a job runs. Accepts a value of G.025X, G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, or R.8X for Spark jobs. Accepts the value Z.2X for Ray jobs. For more information, see [Defining job properties for Spark jobs ](https://docs.aws.amazon.com/glue/latest/dg/add-job.html#create-job)
+ `NumberOfWorkers` – Number (integer).

  The number of workers of a defined `workerType` that are allocated when a job runs.
+ `SecurityConfiguration` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the `SecurityConfiguration` structure to be used with this job.
+ `NotificationProperty` – A [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) object.

  Specifies the configuration properties of a job notification.
+ `GlueVersion` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Custom string pattern #48](aws-glue-api-common.md#regex_48).

  In Spark jobs, `GlueVersion` determines the versions of Apache Spark and Python that AWS Glue available in a job. The Python version indicates the version supported for jobs of type Spark. 

  Ray jobs should set `GlueVersion` to `4.0` or greater. However, the versions of Ray, Python and additional libraries available in your Ray job are determined by the `Runtime` parameter of the Job command.

  For more information about the available AWS Glue versions and corresponding Spark and Python versions, see [Glue version](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) in the developer guide.

  If not provided in the update request, the Glue version retains the value from the existing job definition.
+ `CodeGenConfigurationNodes` – A map array of key-value pairs.

  Each key is a UTF-8 string, matching the [Custom string pattern #60](aws-glue-api-common.md#regex_60).

  Each value is a A [CodeGenConfigurationNode](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-CodeGenConfigurationNode) object.

  The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.
+ `ExecutionClass` – UTF-8 string, not more than 16 bytes long (valid values: `FLEX=""` \$1 `STANDARD=""`).

  Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

  The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. 

  Only jobs with AWS Glue version 3.0 and above and command type `glueetl` will be allowed to set `ExecutionClass` to `FLEX`. The flexible execution class is available for Spark jobs.
+ `SourceControlDetails` – A [SourceControlDetails](#aws-glue-api-jobs-job-SourceControlDetails) object.

  The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.
+ `MaintenanceWindow` – UTF-8 string, matching the [Custom string pattern #34](aws-glue-api-common.md#regex_34).

  This field specifies a day of the week and hour for a maintenance window for streaming jobs. AWS Glue periodically performs maintenance activities. During these maintenance windows, AWS Glue will need to restart your streaming jobs.

  AWS Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.
+ `ProfileName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of an AWS Glue usage profile associated with the job.

## SourceControlDetails structure
<a name="aws-glue-api-jobs-job-SourceControlDetails"></a>

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.

**Fields**
+ `Provider` – UTF-8 string (valid values: `GITHUB` \$1 `AWS_CODE_COMMIT`).

  The provider for the remote repository.
+ `Repository` – UTF-8 string, not less than 1 or more than 512 bytes long.

  The name of the remote repository that contains the job artifacts.
+ `Owner` – UTF-8 string, not less than 1 or more than 512 bytes long.

  The owner of the remote repository that contains the job artifacts.
+ `Branch` – UTF-8 string, not less than 1 or more than 512 bytes long.

  An optional branch in the remote repository.
+ `Folder` – UTF-8 string, not less than 1 or more than 512 bytes long.

  An optional folder in the remote repository.
+ `LastCommitId` – UTF-8 string, not less than 1 or more than 512 bytes long.

  The last commit ID for a commit in the remote repository.
+ `LastSyncTimestamp` – UTF-8 string, not less than 1 or more than 512 bytes long.

  The date and time that the last job synchronization was performed.
+ `AuthStrategy` – UTF-8 string (valid values: `PERSONAL_ACCESS_TOKEN` \$1 `AWS_SECRETS_MANAGER`).

  The type of authentication, which can be an authentication token stored in AWS Secrets Manager, or a personal access token.
+ `AuthToken` – UTF-8 string, not less than 1 or more than 512 bytes long.

  The value of an authorization token.

## Operations
<a name="aws-glue-api-jobs-job-actions"></a>
+ [CreateJob action (Python: create\$1job)](#aws-glue-api-jobs-job-CreateJob)
+ [UpdateJob action (Python: update\$1job)](#aws-glue-api-jobs-job-UpdateJob)
+ [GetJob action (Python: get\$1job)](#aws-glue-api-jobs-job-GetJob)
+ [GetJobs action (Python: get\$1jobs)](#aws-glue-api-jobs-job-GetJobs)
+ [DeleteJob action (Python: delete\$1job)](#aws-glue-api-jobs-job-DeleteJob)
+ [ListJobs action (Python: list\$1jobs)](#aws-glue-api-jobs-job-ListJobs)
+ [BatchGetJobs action (Python: batch\$1get\$1jobs)](#aws-glue-api-jobs-job-BatchGetJobs)

## CreateJob action (Python: create\$1job)
<a name="aws-glue-api-jobs-job-CreateJob"></a>

Creates a new job definition.

**Request**
+ `Name` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name you assign to this job definition. It must be unique in your account.
+ `JobMode` – UTF-8 string (valid values: `SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`).

  A mode that describes how a job was created. Valid values are:
  + `SCRIPT` - The job was created using the AWS Glue Studio script editor.
  + `VISUAL` - The job was created using the AWS Glue Studio visual editor.
  + `NOTEBOOK` - The job was created using an interactive sessions notebook.

  When the `JobMode` field is missing or null, `SCRIPT` is assigned as the default value.
+ `JobRunQueuingEnabled` – Boolean.

  Specifies whether job run queuing is enabled for the job runs for this job.

  A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing.

  If this field does not match the value set in the job run, then the value from the job run field will be used.
+ `Description` – Description string, not more than 2048 bytes long, matching the [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  Description of the job being defined.
+ `LogUri` – UTF-8 string.

  This field is reserved for future use.
+ `Role` – *Required:* UTF-8 string.

  The name or Amazon Resource Name (ARN) of the IAM role associated with this job.
+ `ExecutionProperty` – An [ExecutionProperty](#aws-glue-api-jobs-job-ExecutionProperty) object.

  An `ExecutionProperty` specifying the maximum number of concurrent runs allowed for this job.
+ `Command` – *Required:* A [JobCommand](#aws-glue-api-jobs-job-JobCommand) object.

  The `JobCommand` that runs this job.
+ `DefaultArguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  The default arguments for every run of this job, specified as name-value pairs.

  You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

  Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a AWS Glue Connection, AWS Secrets Manager or other secret management mechanism if you intend to keep them within the Job. 

  For information about how to specify and consume your own Job arguments, see the [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Spark jobs, see the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Ray jobs, see [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html) in the developer guide.
+ `NonOverridableArguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  Arguments for this job that are not overridden when providing job arguments in a job run, specified as name-value pairs.
+ `Connections` – A [ConnectionsList](aws-glue-api-interactive-sessions.md#aws-glue-api-interactive-sessions-ConnectionsList) object.

  The connections used for this job.
+ `MaxRetries` – Number (integer).

  The maximum number of times to retry this job if it fails.
+ `AllocatedCapacity` – Number (integer).

  This parameter is deprecated. Use `MaxCapacity` instead.

  The number of AWS Glue data processing units (DPUs) to allocate to this Job. You can allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).
+ `Timeout` – Number (integer), at least 1.

  The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters `TIMEOUT` status.

  Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

  When the value is left blank, the timeout is defaulted to 2880 minutes.

  Any existing AWS Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

  For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.
+ `MaxCapacity` – Number (double).

  For Glue version 1.0 or earlier jobs, using the standard worker type, the number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).

  For Glue version 2.0\$1 jobs, you cannot specify a `Maximum capacity`. Instead, you should specify a `Worker type` and the `Number of workers`.

  Do not set `MaxCapacity` if using `WorkerType` and `NumberOfWorkers`.

  The value that can be allocated for `MaxCapacity` depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:
  + When you specify a Python shell job (`JobCommand.Name`="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.
  + When you specify an Apache Spark ETL job (`JobCommand.Name`="glueetl") or Apache Spark streaming ETL job (`JobCommand.Name`="gluestreaming"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
+ `SecurityConfiguration` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the `SecurityConfiguration` structure to be used with this job.
+ `Tags` – A map array of key-value pairs, not more than 50 pairs.

  Each key is a UTF-8 string, not less than 1 or more than 128 bytes long.

  Each value is a UTF-8 string, not more than 256 bytes long.

  The tags to use with this job. You may use tags to limit access to the job. For more information about tags in AWS Glue, see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) in the developer guide.
+ `NotificationProperty` – A [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) object.

  Specifies configuration properties of a job notification.
+ `GlueVersion` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Custom string pattern #48](aws-glue-api-common.md#regex_48).

  In Spark jobs, `GlueVersion` determines the versions of Apache Spark and Python that AWS Glue available in a job. The Python version indicates the version supported for jobs of type Spark. 

  Ray jobs should set `GlueVersion` to `4.0` or greater. However, the versions of Ray, Python and additional libraries available in your Ray job are determined by the `Runtime` parameter of the Job command.

  For more information about the available AWS Glue versions and corresponding Spark and Python versions, see [Glue version](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) in the developer guide.

  Jobs that are created without specifying a Glue version default to Glue 5.1.
+ `NumberOfWorkers` – Number (integer).

  The number of workers of a defined `workerType` that are allocated when a job runs.
+ `WorkerType` – UTF-8 string (valid values: `Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`).

  The type of predefined worker that is allocated when a job runs. Accepts a value of G.025X, G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, or R.8X for Spark jobs. Accepts the value Z.2X for Ray jobs.
  + For the `G.025X` worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for AWS Glue version 3.0 or later streaming jobs.
  + For the `G.1X` worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
  + For the `G.2X` worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
  + For the `G.4X` worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs in the following AWS Regions: US East (Ohio), US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), Europe (London), Europe (Spain), Europe (Stockholm), and 
  + For the `G.8X` worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs, in the same AWS Regions as supported for the `G.4X` worker type.
  + For the `G.12X` worker type, each worker maps to 12 DPU (48 vCPUs, 192 GB of memory) with 768GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `G.16X` worker type, each worker maps to 16 DPU (64 vCPUs, 256 GB of memory) with 1024GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.1X` worker type, each worker maps to 1 DPU (4 vCPUs, 32 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.2X` worker type, each worker maps to 2 DPU (8 vCPUs, 64 GB of memory) with 128GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.4X` worker type, each worker maps to 4 DPU (16 vCPUs, 128 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.8X` worker type, each worker maps to 8 DPU (32 vCPUs, 256 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `Z.2X` worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.
+ `CodeGenConfigurationNodes` – A map array of key-value pairs.

  Each key is a UTF-8 string, matching the [Custom string pattern #60](aws-glue-api-common.md#regex_60).

  Each value is a A [CodeGenConfigurationNode](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-CodeGenConfigurationNode) object.

  The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.
+ `ExecutionClass` – UTF-8 string, not more than 16 bytes long (valid values: `FLEX=""` \$1 `STANDARD=""`).

  Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

  The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. 

  Only jobs with AWS Glue version 3.0 and above and command type `glueetl` will be allowed to set `ExecutionClass` to `FLEX`. The flexible execution class is available for Spark jobs.
+ `SourceControlDetails` – A [SourceControlDetails](#aws-glue-api-jobs-job-SourceControlDetails) object.

  The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.
+ `MaintenanceWindow` – UTF-8 string, matching the [Custom string pattern #34](aws-glue-api-common.md#regex_34).

  This field specifies a day of the week and hour for a maintenance window for streaming jobs. AWS Glue periodically performs maintenance activities. During these maintenance windows, AWS Glue will need to restart your streaming jobs.

  AWS Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.
+ `ProfileName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of an AWS Glue usage profile associated with the job.

**Response**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The unique name that was provided for this job definition.

**Errors**
+ `InvalidInputException`
+ `IdempotentParameterMismatchException`
+ `AlreadyExistsException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentModificationException`

## UpdateJob action (Python: update\$1job)
<a name="aws-glue-api-jobs-job-UpdateJob"></a>

Updates an existing job definition. The previous job definition is completely overwritten by this information.

**Request**
+ `JobName` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition to update.
+ `JobUpdate` – *Required:* A [JobUpdate](#aws-glue-api-jobs-job-JobUpdate) object.

  Specifies the values with which to update the job definition. Unspecified configuration is removed or reset to default values.
+ `ProfileName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of an AWS Glue usage profile associated with the job.

**Response**
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Returns the name of the updated job definition.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## GetJob action (Python: get\$1job)
<a name="aws-glue-api-jobs-job-GetJob"></a>

Retrieves an existing job definition.

**Request**
+ `JobName` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition to retrieve.

**Response**
+ `Job` – A [Job](#aws-glue-api-jobs-job-Job) object.

  The requested job definition.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobs action (Python: get\$1jobs)
<a name="aws-glue-api-jobs-job-GetJobs"></a>

Retrieves all current job definitions.

**Request**
+ `NextToken` – UTF-8 string.

  A continuation token, if this is a continuation call.
+ `MaxResults` – Number (integer), not less than 1 or more than 1000.

  The maximum size of the response.

**Response**
+ `Jobs` – An array of [Job](#aws-glue-api-jobs-job-Job) objects.

  A list of job definitions.
+ `NextToken` – UTF-8 string.

  A continuation token, if not all job definitions have yet been returned.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## DeleteJob action (Python: delete\$1job)
<a name="aws-glue-api-jobs-job-DeleteJob"></a>

Deletes a specified job definition. If the job definition is not found, no exception is thrown.

**Request**
+ `JobName` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition to delete.

**Response**
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition that was deleted.

**Errors**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## ListJobs action (Python: list\$1jobs)
<a name="aws-glue-api-jobs-job-ListJobs"></a>

Retrieves the names of all job resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

**Request**
+ `NextToken` – UTF-8 string.

  A continuation token, if this is a continuation request.
+ `MaxResults` – Number (integer), not less than 1 or more than 1000.

  The maximum size of a list to return.
+ `Tags` – A map array of key-value pairs, not more than 50 pairs.

  Each key is a UTF-8 string, not less than 1 or more than 128 bytes long.

  Each value is a UTF-8 string, not more than 256 bytes long.

  Specifies to return only these tagged resources.

**Response**
+ `JobNames` – An array of UTF-8 strings.

  The names of all jobs in the account, or the jobs with the specified tags.
+ `NextToken` – UTF-8 string.

  A continuation token, if the returned list does not contain the last metric available.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## BatchGetJobs action (Python: batch\$1get\$1jobs)
<a name="aws-glue-api-jobs-job-BatchGetJobs"></a>

Returns a list of resource metadata for a given list of job names. After calling the `ListJobs` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. 

**Request**
+ `JobNames` – *Required:* An array of UTF-8 strings.

  A list of job names, which might be the names returned from the `ListJobs` operation.

**Response**
+ `Jobs` – An array of [Job](#aws-glue-api-jobs-job-Job) objects.

  A list of job definitions.
+ `JobsNotFound` – An array of UTF-8 strings.

  A list of names of jobs not found.

**Errors**
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`

# Job runs
<a name="aws-glue-api-jobs-runs"></a>

 The Jobs Runs API describes the data types and API related to starting, stopping, or viewing job runs, and resetting job bookmarks, in AWS Glue. Job run history is accessible for 90 days for your workflow and job run. 

## Data types
<a name="aws-glue-api-jobs-runs-objects"></a>
+ [JobRun structure](#aws-glue-api-jobs-runs-JobRun)
+ [Predecessor structure](#aws-glue-api-jobs-runs-Predecessor)
+ [JobBookmarkEntry structure](#aws-glue-api-jobs-runs-JobBookmarkEntry)
+ [BatchStopJobRunSuccessfulSubmission structure](#aws-glue-api-jobs-runs-BatchStopJobRunSuccessfulSubmission)
+ [BatchStopJobRunError structure](#aws-glue-api-jobs-runs-BatchStopJobRunError)
+ [NotificationProperty structure](#aws-glue-api-jobs-runs-NotificationProperty)

## JobRun structure
<a name="aws-glue-api-jobs-runs-JobRun"></a>

Contains information about a job run.

**Fields**
+ `Id` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The ID of this job run.
+ `Attempt` – Number (integer).

  The number of the attempt to run this job.
+ `PreviousRunId` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The ID of the previous run of this job. For example, the `JobRunId` specified in the `StartJobRun` action.
+ `TriggerName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger that started this job run.
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition being used in this run.
+ `JobMode` – UTF-8 string (valid values: `SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`).

  A mode that describes how a job was created. Valid values are:
  + `SCRIPT` - The job was created using the AWS Glue Studio script editor.
  + `VISUAL` - The job was created using the AWS Glue Studio visual editor.
  + `NOTEBOOK` - The job was created using an interactive sessions notebook.

  When the `JobMode` field is missing or null, `SCRIPT` is assigned as the default value.
+ `JobRunQueuingEnabled` – Boolean.

  Specifies whether job run queuing is enabled for the job run.

  A value of true means job run queuing is enabled for the job run. If false or not populated, the job run will not be considered for queueing.
+ `StartedOn` – Timestamp.

  The date and time at which this job run was started.
+ `LastModifiedOn` – Timestamp.

  The last time that this job run was modified.
+ `CompletedOn` – Timestamp.

  The date and time that this job run completed.
+ `JobRunState` – UTF-8 string (valid values: `STARTING` \$1 `RUNNING` \$1 `STOPPING` \$1 `STOPPED` \$1 `SUCCEEDED` \$1 `FAILED` \$1 `TIMEOUT` \$1 `ERROR` \$1 `WAITING` \$1 `EXPIRED`).

  The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see [AWS Glue Job Run Statuses](https://docs.aws.amazon.com/glue/latest/dg/job-run-statuses.html).
+ `Arguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself.

  You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

  Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a AWS Glue Connection, AWS Secrets Manager or other secret management mechanism if you intend to keep them within the Job. 

  For information about how to specify and consume your own Job arguments, see the [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Spark jobs, see the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Ray jobs, see [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html) in the developer guide.
+ `ErrorMessage` – UTF-8 string.

  An error message associated with this job run.
+ `PredecessorRuns` – An array of [Predecessor](#aws-glue-api-jobs-runs-Predecessor) objects.

  A list of predecessors to this job run.
+ `AllocatedCapacity` – Number (integer).

  This field is deprecated. Use `MaxCapacity` instead.

  The number of AWS Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).
+ `ExecutionTime` – Number (integer).

  The amount of time (in seconds) that the job run consumed resources.
+ `Timeout` – Number (integer), at least 1.

  The `JobRun` timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters `TIMEOUT` status. This value overrides the timeout value set in the parent job.

  Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

  When the value is left blank, the timeout is defaulted to 2880 minutes.

  Any existing AWS Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

  For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.
+ `MaxCapacity` – Number (double).

  For Glue version 1.0 or earlier jobs, using the standard worker type, the number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).

  For Glue version 2.0\$1 jobs, you cannot specify a `Maximum capacity`. Instead, you should specify a `Worker type` and the `Number of workers`.

  Do not set `MaxCapacity` if using `WorkerType` and `NumberOfWorkers`.

  The value that can be allocated for `MaxCapacity` depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:
  + When you specify a Python shell job (`JobCommand.Name`="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.
  + When you specify an Apache Spark ETL job (`JobCommand.Name`="glueetl") or Apache Spark streaming ETL job (`JobCommand.Name`="gluestreaming"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
+ `WorkerType` – UTF-8 string (valid values: `Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`).

  The type of predefined worker that is allocated when a job runs. Accepts a value of G.025X, G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, or R.8X for Spark jobs. Accepts the value Z.2X for Ray jobs.
  + For the `G.1X` worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
  + For the `G.2X` worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
  + For the `G.4X` worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs in the following AWS Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).
  + For the `G.8X` worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs, in the same AWS Regions as supported for the `G.4X` worker type.
  + For the `G.12X` worker type, each worker maps to 12 DPU (48 vCPUs, 192 GB of memory) with 768GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `G.16X` worker type, each worker maps to 16 DPU (64 vCPUs, 256 GB of memory) with 1024GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `G.025X` worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for AWS Glue version 3.0 or later streaming jobs.
  + For the `R.1X` worker type, each worker maps to 1 DPU (4 vCPUs, 32 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.2X` worker type, each worker maps to 2 DPU (8 vCPUs, 64 GB of memory) with 128GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.4X` worker type, each worker maps to 4 DPU (16 vCPUs, 128 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.8X` worker type, each worker maps to 8 DPU (32 vCPUs, 256 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `Z.2X` worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.
+ `NumberOfWorkers` – Number (integer).

  The number of workers of a defined `workerType` that are allocated when a job runs.
+ `SecurityConfiguration` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the `SecurityConfiguration` structure to be used with this job run.
+ `LogGroupName` – UTF-8 string.

  The name of the log group for secure logging that can be server-side encrypted in Amazon CloudWatch using AWS KMS. This name can be `/aws-glue/jobs/`, in which case the default encryption is `NONE`. If you add a role name and `SecurityConfiguration` name (in other words, `/aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/`), then that security configuration is used to encrypt the log group.
+ `NotificationProperty` – A [NotificationProperty](#aws-glue-api-jobs-runs-NotificationProperty) object.

  Specifies configuration properties of a job run notification.
+ `GlueVersion` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Custom string pattern #48](aws-glue-api-common.md#regex_48).

  In Spark jobs, `GlueVersion` determines the versions of Apache Spark and Python that AWS Glue available in a job. The Python version indicates the version supported for jobs of type Spark. 

  Ray jobs should set `GlueVersion` to `4.0` or greater. However, the versions of Ray, Python and additional libraries available in your Ray job are determined by the `Runtime` parameter of the Job command.

  For more information about the available AWS Glue versions and corresponding Spark and Python versions, see [Glue version](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) in the developer guide.

  Jobs that are created without specifying a Glue version default to Glue 5.1.
+ `DPUSeconds` – Number (double).

  This field can be set for either job runs with execution class `FLEX` or when Auto Scaling is enabled, and represents the total time each executor ran during the lifecycle of a job run in seconds, multiplied by a DPU factor (1 for `G.1X`, 2 for `G.2X`, or 0.25 for `G.025X` workers). This value may be different than the `executionEngineRuntime` \$1 `MaxCapacity` as in the case of Auto Scaling jobs, as the number of executors running at a given time may be less than the `MaxCapacity`. Therefore, it is possible that the value of `DPUSeconds` is less than `executionEngineRuntime` \$1 `MaxCapacity`.
+ `ExecutionClass` – UTF-8 string, not more than 16 bytes long (valid values: `FLEX=""` \$1 `STANDARD=""`).

  Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

  The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. 

  Only jobs with AWS Glue version 3.0 and above and command type `glueetl` will be allowed to set `ExecutionClass` to `FLEX`. The flexible execution class is available for Spark jobs.
+ `MaintenanceWindow` – UTF-8 string, matching the [Custom string pattern #34](aws-glue-api-common.md#regex_34).

  This field specifies a day of the week and hour for a maintenance window for streaming jobs. AWS Glue periodically performs maintenance activities. During these maintenance windows, AWS Glue will need to restart your streaming jobs.

  AWS Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.
+ `ProfileName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of an AWS Glue usage profile associated with the job run.
+ `StateDetail` – UTF-8 string, not more than 400000 bytes long.

  This field holds details that pertain to the state of a job run. The field is nullable.

  For example, when a job run is in a WAITING state as a result of job run queuing, the field has the reason why the job run is in that state.
+ `ExecutionRoleSessionPolicy` – UTF-8 string, not less than 2 or more than 2048 bytes long.

  This inline session policy to the StartJobRun API allows you to dynamically restrict the permissions of the specified execution role for the scope of the job, without requiring the creation of additional IAM roles.

## Predecessor structure
<a name="aws-glue-api-jobs-runs-Predecessor"></a>

A job run that was used in the predicate of a conditional trigger that triggered this job run.

**Fields**
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition used by the predecessor job run.
+ `RunId` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The job-run ID of the predecessor job run.

## JobBookmarkEntry structure
<a name="aws-glue-api-jobs-runs-JobBookmarkEntry"></a>

Defines a point that a job can resume processing.

**Fields**
+ `JobName` – UTF-8 string.

  The name of the job in question.
+ `Version` – Number (integer).

  The version of the job.
+ `Run` – Number (integer).

  The run ID number.
+ `Attempt` – Number (integer).

  The attempt ID number.
+ `PreviousRunId` – UTF-8 string.

  The unique run identifier associated with the previous job run.
+ `RunId` – UTF-8 string.

  The run ID number.
+ `JobBookmark` – UTF-8 string.

  The bookmark itself.

## BatchStopJobRunSuccessfulSubmission structure
<a name="aws-glue-api-jobs-runs-BatchStopJobRunSuccessfulSubmission"></a>

Records a successful request to stop a specified `JobRun`.

**Fields**
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition used in the job run that was stopped.
+ `JobRunId` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The `JobRunId` of the job run that was stopped.

## BatchStopJobRunError structure
<a name="aws-glue-api-jobs-runs-BatchStopJobRunError"></a>

Records an error that occurred when attempting to stop a specified job run.

**Fields**
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition that is used in the job run in question.
+ `JobRunId` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The `JobRunId` of the job run in question.
+ `ErrorDetail` – An [ErrorDetail](aws-glue-api-common.md#aws-glue-api-common-ErrorDetail) object.

  Specifies details about the error that was encountered.

## NotificationProperty structure
<a name="aws-glue-api-jobs-runs-NotificationProperty"></a>

Specifies configuration properties of a notification.

**Fields**
+ `NotifyDelayAfter` – Number (integer), at least 1.

  After a job run starts, the number of minutes to wait before sending a job run delay notification.

## Operations
<a name="aws-glue-api-jobs-runs-actions"></a>
+ [StartJobRun action (Python: start\$1job\$1run)](#aws-glue-api-jobs-runs-StartJobRun)
+ [BatchStopJobRun action (Python: batch\$1stop\$1job\$1run)](#aws-glue-api-jobs-runs-BatchStopJobRun)
+ [GetJobRun action (Python: get\$1job\$1run)](#aws-glue-api-jobs-runs-GetJobRun)
+ [GetJobRuns action (Python: get\$1job\$1runs)](#aws-glue-api-jobs-runs-GetJobRuns)
+ [GetJobBookmark action (Python: get\$1job\$1bookmark)](#aws-glue-api-jobs-runs-GetJobBookmark)
+ [GetJobBookmarks action (Python: get\$1job\$1bookmarks)](#aws-glue-api-jobs-runs-GetJobBookmarks)
+ [ResetJobBookmark action (Python: reset\$1job\$1bookmark)](#aws-glue-api-jobs-runs-ResetJobBookmark)

## StartJobRun action (Python: start\$1job\$1run)
<a name="aws-glue-api-jobs-runs-StartJobRun"></a>

Starts a job run using a job definition.

**Request**
+ `JobName` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition to use.
+ `JobRunQueuingEnabled` – Boolean.

  Specifies whether job run queuing is enabled for the job run.

  A value of true means job run queuing is enabled for the job run. If false or not populated, the job run will not be considered for queueing.
+ `JobRunId` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The ID of a previous `JobRun` to retry.
+ `Arguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself.

  You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

  Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a AWS Glue Connection, AWS Secrets Manager or other secret management mechanism if you intend to keep them within the Job. 

  For information about how to specify and consume your own Job arguments, see the [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Spark jobs, see the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the developer guide.

  For information about the arguments you can provide to this field when configuring Ray jobs, see [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html) in the developer guide.
+ `AllocatedCapacity` – Number (integer).

  This field is deprecated. Use `MaxCapacity` instead.

  The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. You can allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).
+ `Timeout` – Number (integer), at least 1.

  The `JobRun` timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters `TIMEOUT` status. This value overrides the timeout value set in the parent job. 

  Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

  When the value is left blank, the timeout is defaulted to 2880 minutes.

  Any existing AWS Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

  For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.
+ `MaxCapacity` – Number (double).

  For Glue version 1.0 or earlier jobs, using the standard worker type, the number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [AWS Glue pricing page](https://aws.amazon.com/glue/pricing/).

  For Glue version 2.0\$1 jobs, you cannot specify a `Maximum capacity`. Instead, you should specify a `Worker type` and the `Number of workers`.

  Do not set `MaxCapacity` if using `WorkerType` and `NumberOfWorkers`.

  The value that can be allocated for `MaxCapacity` depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:
  + When you specify a Python shell job (`JobCommand.Name`="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.
  + When you specify an Apache Spark ETL job (`JobCommand.Name`="glueetl") or Apache Spark streaming ETL job (`JobCommand.Name`="gluestreaming"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
+ `SecurityConfiguration` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the `SecurityConfiguration` structure to be used with this job run.
+ `NotificationProperty` – A [NotificationProperty](#aws-glue-api-jobs-runs-NotificationProperty) object.

  Specifies configuration properties of a job run notification.
+ `WorkerType` – UTF-8 string (valid values: `Standard=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.025X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `Z.2X=""`).

  The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs.
  + For the `G.1X` worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
  + For the `G.2X` worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
  + For the `G.4X` worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs in the following AWS Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).
  + For the `G.8X` worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs, in the same AWS Regions as supported for the `G.4X` worker type.
  + For the `G.12X` worker type, each worker maps to 12 DPU (48 vCPUs, 192 GB of memory) with 768GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `G.16X` worker type, each worker maps to 16 DPU (64 vCPUs, 256 GB of memory) with 1024GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `G.025X` worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for AWS Glue version 3.0 or later streaming jobs.
  + For the `R.1X` worker type, each worker maps to 1 DPU (4 vCPUs, 32 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.2X` worker type, each worker maps to 2 DPU (8 vCPUs, 64 GB of memory) with 128GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.4X` worker type, each worker maps to 4 DPU (16 vCPUs, 128 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `R.8X` worker type, each worker maps to 8 DPU (32 vCPUs, 256 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for AWS Glue version 4.0 or later Spark ETL jobs.
  + For the `Z.2X` worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.
+ `NumberOfWorkers` – Number (integer).

  The number of workers of a defined `workerType` that are allocated when a job runs.
+ `ExecutionClass` – UTF-8 string, not more than 16 bytes long (valid values: `FLEX=""` \$1 `STANDARD=""`).

  Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

  The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. 

  Only jobs with AWS Glue version 3.0 and above and command type `glueetl` will be allowed to set `ExecutionClass` to `FLEX`. The flexible execution class is available for Spark jobs.
+ `ProfileName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of an AWS Glue usage profile associated with the job run.
+ `ExecutionRoleSessionPolicy` – UTF-8 string, not less than 2 or more than 2048 bytes long.

  This inline session policy to the StartJobRun API allows you to dynamically restrict the permissions of the specified execution role for the scope of the job, without requiring the creation of additional IAM roles.

**Response**
+ `JobRunId` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The ID assigned to this job run.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentRunsExceededException`

## BatchStopJobRun action (Python: batch\$1stop\$1job\$1run)
<a name="aws-glue-api-jobs-runs-BatchStopJobRun"></a>

Stops one or more job runs for a specified job definition.

**Request**
+ `JobName` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition for which to stop job runs.
+ `JobRunIds` – *Required:* An array of UTF-8 strings, not less than 1 or more than 25 strings.

  A list of the `JobRunIds` that should be stopped for that job definition.

**Response**
+ `SuccessfulSubmissions` – An array of [BatchStopJobRunSuccessfulSubmission](#aws-glue-api-jobs-runs-BatchStopJobRunSuccessfulSubmission) objects.

  A list of the JobRuns that were successfully submitted for stopping.
+ `Errors` – An array of [BatchStopJobRunError](#aws-glue-api-jobs-runs-BatchStopJobRunError) objects.

  A list of the errors that were encountered in trying to stop `JobRuns`, including the `JobRunId` for which each error was encountered and details about the error.

**Errors**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobRun action (Python: get\$1job\$1run)
<a name="aws-glue-api-jobs-runs-GetJobRun"></a>

Retrieves the metadata for a given job run. Job run history is accessible for 365 days for your workflow and job run.

**Request**
+ `JobName` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Name of the job definition being run.
+ `RunId` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The ID of the job run.
+ `PredecessorsIncluded` – Boolean.

  True if a list of predecessor runs should be returned.

**Response**
+ `JobRun` – A [JobRun](#aws-glue-api-jobs-runs-JobRun) object.

  The requested job-run metadata.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobRuns action (Python: get\$1job\$1runs)
<a name="aws-glue-api-jobs-runs-GetJobRuns"></a>

Retrieves metadata for all runs of a given job definition.

`GetJobRuns` returns the job runs in chronological order, with the newest jobs returned first.

**Request**
+ `JobName` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job definition for which to retrieve all job runs.
+ `NextToken` – UTF-8 string.

  A continuation token, if this is a continuation call.
+ `MaxResults` – Number (integer), not less than 1 or more than 200.

  The maximum size of the response.

**Response**
+ `JobRuns` – An array of [JobRun](#aws-glue-api-jobs-runs-JobRun) objects.

  A list of job-run metadata objects.
+ `NextToken` – UTF-8 string.

  A continuation token, if not all requested job runs have been returned.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobBookmark action (Python: get\$1job\$1bookmark)
<a name="aws-glue-api-jobs-runs-GetJobBookmark"></a>

Returns information on a job bookmark entry.

For more information about enabling and using job bookmarks, see:
+ [Tracking processed data using job bookmarks](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
+ [Job parameters used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
+ [Job structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)

**Request**
+ `JobName` – *Required:* UTF-8 string.

  The name of the job in question.
+ `Version` – Number (integer).

  The version of the job.
+ `RunId` – UTF-8 string.

  The unique run identifier associated with this job run.

**Response**
+ `JobBookmarkEntry` – A [JobBookmarkEntry](#aws-glue-api-jobs-runs-JobBookmarkEntry) object.

  A structure that defines a point that a job can resume processing.

**Errors**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ValidationException`

## GetJobBookmarks action (Python: get\$1job\$1bookmarks)
<a name="aws-glue-api-jobs-runs-GetJobBookmarks"></a>

Returns information on the job bookmark entries. The list is ordered on decreasing version numbers.

For more information about enabling and using job bookmarks, see:
+ [Tracking processed data using job bookmarks](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
+ [Job parameters used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
+ [Job structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)

**Request**
+ `JobName` – *Required:* UTF-8 string.

  The name of the job in question.
+ `MaxResults` – Number (integer).

  The maximum size of the response.
+ `NextToken` – Number (integer).

  A continuation token, if this is a continuation call.

**Response**
+ `JobBookmarkEntries` – An array of [JobBookmarkEntry](#aws-glue-api-jobs-runs-JobBookmarkEntry) objects.

  A list of job bookmark entries that defines a point that a job can resume processing.
+ `NextToken` – Number (integer).

  A continuation token, which has a value of 1 if all the entries are returned, or > 1 if not all requested job runs have been returned.

**Errors**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## ResetJobBookmark action (Python: reset\$1job\$1bookmark)
<a name="aws-glue-api-jobs-runs-ResetJobBookmark"></a>

Resets a bookmark entry.

For more information about enabling and using job bookmarks, see:
+ [Tracking processed data using job bookmarks](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
+ [Job parameters used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
+ [Job structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)

**Request**
+ `JobName` – *Required:* UTF-8 string.

  The name of the job in question.
+ `RunId` – UTF-8 string.

  The unique run identifier associated with this job run.

**Response**
+ `JobBookmarkEntry` – A [JobBookmarkEntry](#aws-glue-api-jobs-runs-JobBookmarkEntry) object.

  The reset bookmark entry.

**Errors**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

# Triggers
<a name="aws-glue-api-jobs-trigger"></a>

The Triggers API describes the data types and API related to creating, updating, or deleting, and starting and stopping job triggers in AWS Glue.

## Data types
<a name="aws-glue-api-jobs-trigger-objects"></a>
+ [Trigger structure](#aws-glue-api-jobs-trigger-Trigger)
+ [TriggerUpdate structure](#aws-glue-api-jobs-trigger-TriggerUpdate)
+ [Predicate structure](#aws-glue-api-jobs-trigger-Predicate)
+ [Condition structure](#aws-glue-api-jobs-trigger-Condition)
+ [Action structure](#aws-glue-api-jobs-trigger-Action)
+ [EventBatchingCondition structure](#aws-glue-api-jobs-trigger-EventBatchingCondition)

## Trigger structure
<a name="aws-glue-api-jobs-trigger-Trigger"></a>

Information about a specific trigger.

**Fields**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger.
+ `WorkflowName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the workflow associated with the trigger.
+ `Id` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Reserved for future use.
+ `Type` – UTF-8 string (valid values: `SCHEDULED` \$1 `CONDITIONAL` \$1 `ON_DEMAND` \$1 `EVENT`).

  The type of trigger that this is.
+ `State` – UTF-8 string (valid values: `CREATING` \$1 `CREATED` \$1 `ACTIVATING` \$1 `ACTIVATED` \$1 `DEACTIVATING` \$1 `DEACTIVATED` \$1 `DELETING` \$1 `UPDATING`).

  The current state of the trigger.
+ `Description` – Description string, not more than 2048 bytes long, matching the [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  A description of this trigger.
+ `Schedule` – UTF-8 string.

  A `cron` expression used to specify the schedule (see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`.
+ `Actions` – An array of [Action](#aws-glue-api-jobs-trigger-Action) objects.

  The actions initiated by this trigger.
+ `Predicate` – A [Predicate](#aws-glue-api-jobs-trigger-Predicate) object.

  The predicate of this trigger, which defines when it will fire.
+ `EventBatchingCondition` – An [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) object.

  Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.

## TriggerUpdate structure
<a name="aws-glue-api-jobs-trigger-TriggerUpdate"></a>

A structure used to provide information used to update a trigger. This object updates the previous trigger definition by overwriting it completely.

**Fields**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Reserved for future use.
+ `Description` – Description string, not more than 2048 bytes long, matching the [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  A description of this trigger.
+ `Schedule` – UTF-8 string.

  A `cron` expression used to specify the schedule (see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`.
+ `Actions` – An array of [Action](#aws-glue-api-jobs-trigger-Action) objects.

  The actions initiated by this trigger.
+ `Predicate` – A [Predicate](#aws-glue-api-jobs-trigger-Predicate) object.

  The predicate of this trigger, which defines when it will fire.
+ `EventBatchingCondition` – An [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) object.

  Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.

## Predicate structure
<a name="aws-glue-api-jobs-trigger-Predicate"></a>

Defines the predicate of the trigger, which determines when it fires.

**Fields**
+ `Logical` – UTF-8 string (valid values: `AND` \$1 `ANY`).

  An optional field if only one condition is listed. If multiple conditions are listed, then this field is required.
+ `Conditions` – An array of [Condition](#aws-glue-api-jobs-trigger-Condition) objects, not more than 500 structures.

  A list of the conditions that determine when the trigger will fire.

## Condition structure
<a name="aws-glue-api-jobs-trigger-Condition"></a>

Defines a condition under which a trigger fires.

**Fields**
+ `LogicalOperator` – UTF-8 string (valid values: `EQUALS`).

  A logical operator.
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job whose `JobRuns` this condition applies to, and on which this trigger waits.
+ `State` – UTF-8 string (valid values: `STARTING` \$1 `RUNNING` \$1 `STOPPING` \$1 `STOPPED` \$1 `SUCCEEDED` \$1 `FAILED` \$1 `TIMEOUT` \$1 `ERROR` \$1 `WAITING` \$1 `EXPIRED`).

  The condition state. Currently, the only job states that a trigger can listen for are `SUCCEEDED`, `STOPPED`, `FAILED`, and `TIMEOUT`. The only crawler states that a trigger can listen for are `SUCCEEDED`, `FAILED`, and `CANCELLED`.
+ `CrawlerName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the crawler to which this condition applies.
+ `CrawlState` – UTF-8 string (valid values: `RUNNING` \$1 `CANCELLING` \$1 `CANCELLED` \$1 `SUCCEEDED` \$1 `FAILED` \$1 `ERROR`).

  The state of the crawler to which this condition applies.

## Action structure
<a name="aws-glue-api-jobs-trigger-Action"></a>

Defines an action to be initiated by a trigger.

**Fields**
+ `JobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of a job to be run.
+ `Arguments` – A map array of key-value pairs.

  Each key is a UTF-8 string.

  Each value is a UTF-8 string.

  The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself.

  You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

  For information about how to specify and consume your own Job arguments, see the [Calling AWS Glue APIs in Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) topic in the developer guide.

  For information about the key-value pairs that AWS Glue consumes to set up your job, see the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the developer guide.
+ `Timeout` – Number (integer), at least 1.

  The `JobRun` timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters `TIMEOUT` status. This overrides the timeout value set in the parent job.

  Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.

  When the value is left blank, the timeout is defaulted to 2880 minutes.

  Any existing AWS Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

  For streaming jobs, if you have set up a maintenance window, it will be restarted during the maintenance window after 7 days.
+ `SecurityConfiguration` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the `SecurityConfiguration` structure to be used with this action.
+ `NotificationProperty` – A [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) object.

  Specifies configuration properties of a job run notification.
+ `CrawlerName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the crawler to be used with this action.

## EventBatchingCondition structure
<a name="aws-glue-api-jobs-trigger-EventBatchingCondition"></a>

Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.

**Fields**
+ `BatchSize` – *Required:* Number (integer), not less than 1 or more than 100.

  Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires.
+ `BatchWindow` – Number (integer), not less than 1 or more than 900.

  Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received.

## Operations
<a name="aws-glue-api-jobs-trigger-actions"></a>
+ [CreateTrigger action (Python: create\$1trigger)](#aws-glue-api-jobs-trigger-CreateTrigger)
+ [StartTrigger action (Python: start\$1trigger)](#aws-glue-api-jobs-trigger-StartTrigger)
+ [GetTrigger action (Python: get\$1trigger)](#aws-glue-api-jobs-trigger-GetTrigger)
+ [GetTriggers action (Python: get\$1triggers)](#aws-glue-api-jobs-trigger-GetTriggers)
+ [UpdateTrigger action (Python: update\$1trigger)](#aws-glue-api-jobs-trigger-UpdateTrigger)
+ [StopTrigger action (Python: stop\$1trigger)](#aws-glue-api-jobs-trigger-StopTrigger)
+ [DeleteTrigger action (Python: delete\$1trigger)](#aws-glue-api-jobs-trigger-DeleteTrigger)
+ [ListTriggers action (Python: list\$1triggers)](#aws-glue-api-jobs-trigger-ListTriggers)
+ [BatchGetTriggers action (Python: batch\$1get\$1triggers)](#aws-glue-api-jobs-trigger-BatchGetTriggers)

## CreateTrigger action (Python: create\$1trigger)
<a name="aws-glue-api-jobs-trigger-CreateTrigger"></a>

Creates a new trigger.

Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a AWS Glue Connection, AWS Secrets Manager or other secret management mechanism if you intend to keep them within the Job.

**Request**
+ `Name` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger.
+ `WorkflowName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the workflow associated with the trigger.
+ `Type` – *Required:* UTF-8 string (valid values: `SCHEDULED` \$1 `CONDITIONAL` \$1 `ON_DEMAND` \$1 `EVENT`).

  The type of the new trigger.
+ `Schedule` – UTF-8 string.

  A `cron` expression used to specify the schedule (see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`.

  This field is required when the trigger type is SCHEDULED.
+ `Predicate` – A [Predicate](#aws-glue-api-jobs-trigger-Predicate) object.

  A predicate to specify when the new trigger should fire.

  This field is required when the trigger type is `CONDITIONAL`.
+ `Actions` – *Required:* An array of [Action](#aws-glue-api-jobs-trigger-Action) objects.

  The actions initiated by this trigger when it fires.
+ `Description` – Description string, not more than 2048 bytes long, matching the [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  A description of the new trigger.
+ `StartOnCreation` – Boolean.

  Set to `true` to start `SCHEDULED` and `CONDITIONAL` triggers when created. True is not supported for `ON_DEMAND` triggers.
+ `Tags` – A map array of key-value pairs, not more than 50 pairs.

  Each key is a UTF-8 string, not less than 1 or more than 128 bytes long.

  Each value is a UTF-8 string, not more than 256 bytes long.

  The tags to use with this trigger. You may use tags to limit access to the trigger. For more information about tags in AWS Glue, see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) in the developer guide. 
+ `EventBatchingCondition` – An [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) object.

  Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.

**Response**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger.

**Errors**
+ `AlreadyExistsException`
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `IdempotentParameterMismatchException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentModificationException`

## StartTrigger action (Python: start\$1trigger)
<a name="aws-glue-api-jobs-trigger-StartTrigger"></a>

Starts an existing trigger. See [Triggering Jobs](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html) for information about how different types of trigger are started.

**Request**
+ `Name` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger to start.

**Response**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger that was started.

**Errors**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentRunsExceededException`

## GetTrigger action (Python: get\$1trigger)
<a name="aws-glue-api-jobs-trigger-GetTrigger"></a>

Retrieves the definition of a trigger.

**Request**
+ `Name` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger to retrieve.

**Response**
+ `Trigger` – A [Trigger](#aws-glue-api-jobs-trigger-Trigger) object.

  The requested trigger definition.

**Errors**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetTriggers action (Python: get\$1triggers)
<a name="aws-glue-api-jobs-trigger-GetTriggers"></a>

Gets all the triggers associated with a job.

**Request**
+ `NextToken` – UTF-8 string.

  A continuation token, if this is a continuation call.
+ `DependentJobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the job to retrieve triggers for. The trigger that can start this job is returned, and if there is no such trigger, all triggers are returned.
+ `MaxResults` – Number (integer), not less than 1 or more than 200.

  The maximum size of the response.

**Response**
+ `Triggers` – An array of [Trigger](#aws-glue-api-jobs-trigger-Trigger) objects.

  A list of triggers for the specified job.
+ `NextToken` – UTF-8 string.

  A continuation token, if not all the requested triggers have yet been returned.

**Errors**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## UpdateTrigger action (Python: update\$1trigger)
<a name="aws-glue-api-jobs-trigger-UpdateTrigger"></a>

Updates a trigger definition.

Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a AWS Glue Connection, AWS Secrets Manager or other secret management mechanism if you intend to keep them within the Job.

**Request**
+ `Name` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger to update.
+ `TriggerUpdate` – *Required:* A [TriggerUpdate](#aws-glue-api-jobs-trigger-TriggerUpdate) object.

  The new values with which to update the trigger.

**Response**
+ `Trigger` – A [Trigger](#aws-glue-api-jobs-trigger-Trigger) object.

  The resulting trigger definition.

**Errors**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## StopTrigger action (Python: stop\$1trigger)
<a name="aws-glue-api-jobs-trigger-StopTrigger"></a>

Stops a specified trigger.

**Request**
+ `Name` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger to stop.

**Response**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger that was stopped.

**Errors**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## DeleteTrigger action (Python: delete\$1trigger)
<a name="aws-glue-api-jobs-trigger-DeleteTrigger"></a>

Deletes a specified trigger. If the trigger is not found, no exception is thrown.

**Request**
+ `Name` – *Required:* UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger to delete.

**Response**
+ `Name` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  The name of the trigger that was deleted.

**Errors**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## ListTriggers action (Python: list\$1triggers)
<a name="aws-glue-api-jobs-trigger-ListTriggers"></a>

Retrieves the names of all trigger resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

**Request**
+ `NextToken` – UTF-8 string.

  A continuation token, if this is a continuation request.
+ `DependentJobName` – UTF-8 string, not less than 1 or more than 255 bytes long, matching the [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

   The name of the job for which to retrieve triggers. The trigger that can start this job is returned. If there is no such trigger, all triggers are returned.
+ `MaxResults` – Number (integer), not less than 1 or more than 200.

  The maximum size of a list to return.
+ `Tags` – A map array of key-value pairs, not more than 50 pairs.

  Each key is a UTF-8 string, not less than 1 or more than 128 bytes long.

  Each value is a UTF-8 string, not more than 256 bytes long.

  Specifies to return only these tagged resources.

**Response**
+ `TriggerNames` – An array of UTF-8 strings.

  The names of all triggers in the account, or the triggers with the specified tags.
+ `NextToken` – UTF-8 string.

  A continuation token, if the returned list does not contain the last metric available.

**Errors**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## BatchGetTriggers action (Python: batch\$1get\$1triggers)
<a name="aws-glue-api-jobs-trigger-BatchGetTriggers"></a>

Returns a list of resource metadata for a given list of trigger names. After calling the `ListTriggers` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

**Request**
+ `TriggerNames` – *Required:* An array of UTF-8 strings.

  A list of trigger names, which may be the names returned from the `ListTriggers` operation.

**Response**
+ `Triggers` – An array of [Trigger](#aws-glue-api-jobs-trigger-Trigger) objects.

  A list of trigger definitions.
+ `TriggersNotFound` – An array of UTF-8 strings.

  A list of names of triggers not found.

**Errors**
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`