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.
Note
For 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 Amazon SDKs, see the following: