CreateJobTemplate
Creates a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.
Request Syntax
POST /jobtemplates HTTP/1.1
Content-type: application/json
{
   "clientToken": "string",
   "jobTemplateData": { 
      "configurationOverrides": { 
         "applicationConfiguration": [ 
            { 
               "classification": "string",
               "configurations": [ 
                  "Configuration"
               ],
               "properties": { 
                  "string" : "string" 
               }
            }
         ],
         "monitoringConfiguration": { 
            "cloudWatchMonitoringConfiguration": { 
               "logGroupName": "string",
               "logStreamNamePrefix": "string"
            },
            "persistentAppUI": "string",
            "s3MonitoringConfiguration": { 
               "logUri": "string"
            }
         }
      },
      "executionRoleArn": "string",
      "jobDriver": { 
         "sparkSqlJobDriver": { 
            "entryPoint": "string",
            "sparkSqlParameters": "string"
         },
         "sparkSubmitJobDriver": { 
            "entryPoint": "string",
            "entryPointArguments": [ "string" ],
            "sparkSubmitParameters": "string"
         }
      },
      "jobTags": { 
         "string" : "string" 
      },
      "parameterConfiguration": { 
         "string" : { 
            "defaultValue": "string",
            "type": "string"
         }
      },
      "releaseLabel": "string"
   },
   "kmsKeyArn": "string",
   "name": "string",
   "tags": { 
      "string" : "string" 
   }
}URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- clientToken
- 
               The client token of the job template. Type: String Length Constraints: Minimum length of 1. Maximum length of 64. Pattern: .*\S.*Required: Yes 
- jobTemplateData
- 
               The job template data which holds values of StartJobRun API request. Type: JobTemplateData object Required: Yes 
- kmsKeyArn
- 
               The KMS key ARN used to encrypt the job template. Type: String Length Constraints: Minimum length of 3. Maximum length of 2048. Pattern: ^(arn:(aws[a-zA-Z0-9-]*):kms:.+:(\d{12})?:key\/[(0-9a-zA-Z)-?]+|\$\{[a-zA-Z]\w*\})$Required: No 
- name
- 
               The specified name of the job template. Type: String Length Constraints: Minimum length of 1. Maximum length of 64. Pattern: [\.\-_/#A-Za-z0-9]+Required: Yes 
- 
               The tags that are associated with the job template. Type: String to string map Map Entries: Minimum number of 0 items. Maximum number of 50 items. Key Length Constraints: Minimum length of 1. Maximum length of 128. Key Pattern: .*\S.*Value Length Constraints: Minimum length of 0. Maximum length of 256. Value Pattern: .*\S.*Required: No 
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
   "arn": "string",
   "createdAt": "string",
   "id": "string",
   "name": "string"
}Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- arn
- 
               This output display the ARN of the created job template. Type: String Length Constraints: Minimum length of 60. Maximum length of 1024. Pattern: ^arn:(aws[a-zA-Z0-9-]*):emr-containers:.+:(\d{12}):\/jobtemplates\/[0-9a-zA-Z]+$
- createdAt
- 
               This output displays the date and time when the job template was created. Type: Timestamp 
- id
- 
               This output display the created job template ID. Type: String Length Constraints: Minimum length of 1. Maximum length of 64. Pattern: [0-9a-z]+
- name
- 
               This output displays the name of the created job template. Type: String Length Constraints: Minimum length of 1. Maximum length of 64. Pattern: [\.\-_/#A-Za-z0-9]+
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalServerException
- 
               This is an internal server exception. HTTP Status Code: 500 
- ResourceNotFoundException
- 
               The specified resource was not found. HTTP Status Code: 400 
- ValidationException
- 
               There are invalid parameters in the client request. HTTP Status Code: 400 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: