AttachThingPrincipal
Attaches the specified principal to the specified thing. A principal can be X.509 certificates, Amazon Cognito identities or federated identities.
Requires permission to access the AttachThingPrincipal action.
Request Syntax
PUT /things/thingName/principals?thingPrincipalType=thingPrincipalType HTTP/1.1
x-amzn-principal: principal
URI Request Parameters
The request uses the following URI parameters.
- principal
- 
               The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID. Required: Yes 
- thingName
- 
               The name of the thing. Length Constraints: Minimum length of 1. Maximum length of 128. Pattern: [a-zA-Z0-9:_-]+Required: Yes 
- thingPrincipalType
- 
               The type of the relation you want to specify when you attach a principal to a thing. - 
                     EXCLUSIVE_THING- Attaches the specified principal to the specified thing, exclusively. The thing will be the only thing that’s attached to the principal.
 - 
                     NON_EXCLUSIVE_THING- Attaches the specified principal to the specified thing. Multiple things can be attached to the principal.
 Valid Values: EXCLUSIVE_THING | NON_EXCLUSIVE_THING
- 
                     
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
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 
- ResourceNotFoundException
- 
               The specified resource does not exist. - message
- 
                        The message for the exception. 
 HTTP Status Code: 404 
- ServiceUnavailableException
- 
               The service is temporarily unavailable. - message
- 
                        The message for the exception. 
 HTTP Status Code: 503 
- 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: