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 | JITP
Required: 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.
HTTP Status Code: 500
- InvalidRequestException
-
The request is not valid.
HTTP Status Code: 400
- LimitExceededException
-
A limit has been exceeded.
HTTP Status Code: 410
- ResourceAlreadyExistsException
-
The resource already exists.
HTTP Status Code: 409
- ThrottlingException
-
The rate exceeds the limit.
HTTP Status Code: 400
- UnauthorizedException
-
You are not authorized to perform this operation.
HTTP Status Code: 401
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: