code: @Override
      public DeleteThingTypeResult deleteThingType(DeleteThingTypeRequest request) {
          request = beforeClientExecution(request);
          return executeDeleteThingType(request);
      }
docs: <p>
  Deletes the specified thing type. You cannot delete a thing type if it has things associated with it. To delete a
  thing type, first mark it as deprecated by calling <a>DeprecateThingType</a>, then remove any associated things
  by calling <a>UpdateThing</a> to change the thing type on any associated thing, and finally use
  <a>DeleteThingType</a> to delete the thing type.
  </p>
  
  @param deleteThingTypeRequest
  The input for the DeleteThingType operation.
  @return Result of the DeleteThingType operation returned by the service.
  @throws ResourceNotFoundException
  The specified resource does not exist.
  @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.
  @sample AWSIot.DeleteThingType