code: @Override
      public UpdateThingShadowResult updateThingShadow(UpdateThingShadowRequest request) {
          request = beforeClientExecution(request);
          return executeUpdateThingShadow(request);
      }
docs: <p>
  Updates the thing shadow for the specified thing.
  </p>
  <p>
  For more information, see <a
  href="http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html">UpdateThingShadow</a> in
  the <i>AWS IoT Developer Guide</i>.
  </p>
  
  @param updateThingShadowRequest
  The input for the UpdateThingShadow operation.
  @return Result of the UpdateThingShadow operation returned by the service.
  @throws ConflictException
  The specified version does not match the version of the document.
  @throws RequestEntityTooLargeException
  The payload exceeds the maximum size allowed.
  @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 MethodNotAllowedException
  The specified combination of HTTP verb and URI is not supported.
  @throws UnsupportedDocumentEncodingException
  The document encoding is not supported.
  @sample AWSIotData.UpdateThingShadow