CreateProvisioningTemplate
Creates a provisioning template.
Requires permission to access the CreateProvisioningTemplate action.
Request Syntax
POST /provisioning-templates HTTP/1.1
Content-type: application/json
{
   "description": "string",
   "enabled": boolean,
   "preProvisioningHook": { 
      "payloadVersion": "string",
      "targetArn": "string"
   },
   "provisioningRoleArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "templateBody": "string",
   "templateName": "string",
   "type": "string"
}URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- description
- 
               The description of the provisioning template. Type: String Length Constraints: Minimum length of 0. Maximum length of 500. Pattern: [^\p{C}]*Required: No 
- enabled
- 
               True to enable the provisioning template, otherwise false. Type: Boolean Required: No 
- preProvisioningHook
- 
               Creates a pre-provisioning hook template. Only supports template of type FLEET_PROVISIONING. For more information about provisioning template types, see type.Type: ProvisioningHook object Required: No 
- provisioningRoleArn
- 
               The role ARN for the role associated with the provisioning template. This IoT role grants permission to provision a device. Type: String Length Constraints: Minimum length of 20. Maximum length of 2048. Required: Yes 
- 
               Metadata which can be used to manage the provisioning template. NoteFor URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Type: Array of Tag objects Required: No 
- templateBody
- 
               The JSON formatted contents of the provisioning template. Type: String Length Constraints: Minimum length of 0. Maximum length of 10240. Pattern: [\s\S]*Required: Yes 
- templateName
- 
               The name of the provisioning template. Type: String Length Constraints: Minimum length of 1. Maximum length of 36. Pattern: ^[0-9A-Za-z_-]+$Required: Yes 
- type
- 
               The type you define in a provisioning template. You can create a template with only one type. You can't change the template type after its creation. The default value is FLEET_PROVISIONING. For more information about provisioning template, see: Provisioning template.Type: String Valid Values: FLEET_PROVISIONING | JITPRequired: No 
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
   "defaultVersionId": number,
   "templateArn": "string",
   "templateName": "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.
- defaultVersionId
- 
               The default version of the provisioning template. Type: Integer 
- templateArn
- 
               The ARN that identifies the provisioning template. Type: String 
- templateName
- 
               The name of the provisioning template. Type: String Length Constraints: Minimum length of 1. Maximum length of 36. Pattern: ^[0-9A-Za-z_-]+$
Errors
- InternalFailureException
- 
               An unexpected error has occurred. - message
- 
                        The message for the exception. 
 HTTP Status Code: 500 
- InvalidRequestException
- 
               The request is not valid. - message
- 
                        The message for the exception. 
 HTTP Status Code: 400 
- LimitExceededException
- 
               A limit has been exceeded. - message
- 
                        The message for the exception. 
 HTTP Status Code: 410 
- ResourceAlreadyExistsException
- 
               The resource already exists. - message
- 
                        The message for the exception. 
- resourceArn
- 
                        The ARN of the resource that caused the exception. 
- resourceId
- 
                        The ID of the resource that caused the exception. 
 HTTP Status Code: 409 
- ThrottlingException
- 
               The rate exceeds the limit. - message
- 
                        The message for the exception. 
 HTTP Status Code: 400 
- UnauthorizedException
- 
               You are not authorized to perform this operation. - message
- 
                        The message for the exception. 
 HTTP Status Code: 401 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: