CreateProvisioningTemplate - AWS IoT

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

tags

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: