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.
HTTP Status Code: 500
- InvalidRequestException
-
The request is not valid.
HTTP Status Code: 400
- ResourceNotFoundException
-
The specified resource does not exist.
HTTP Status Code: 404
- ServiceUnavailableException
-
The service is temporarily unavailable.
HTTP Status Code: 503
- 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: