code: @Override
      public ListThingPrincipalsResult listThingPrincipals(ListThingPrincipalsRequest request) {
          request = beforeClientExecution(request);
          return executeListThingPrincipals(request);
      }
docs: <p>
  Lists the principals associated with the specified thing. A principal can be X.509 certificates, IAM users,
  groups, and roles, Amazon Cognito identities or federated identities.
  </p>
  
  @param listThingPrincipalsRequest
  The input for the ListThingPrincipal operation.
  @return Result of the ListThingPrincipals operation returned by the service.
  @throws InvalidRequestException
  The request is not valid.
  @throws ThrottlingException
  The rate exceeds the limit.
  @throws UnauthorizedException
  You are not authorized to perform this operation.
  @throws ServiceUnavailableException
  The service is temporarily unavailable.
  @throws InternalFailureException
  An unexpected error has occurred.
  @throws ResourceNotFoundException
  The specified resource does not exist.
  @sample AWSIot.ListThingPrincipals