code: @Override
      public UpdateCertificateResult updateCertificate(UpdateCertificateRequest request) {
          request = beforeClientExecution(request);
          return executeUpdateCertificate(request);
      }
docs: <p>
  Updates the status of the specified certificate. This operation is idempotent.
  </p>
  <p>
  Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices,
  but these devices will be unable to reconnect.
  </p>
  <p>
  The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.
  </p>
  
  @param updateCertificateRequest
  The input for the UpdateCertificate operation.
  @return Result of the UpdateCertificate operation returned by the service.
  @throws ResourceNotFoundException
  The specified resource does not exist.
  @throws CertificateStateException
  The certificate operation is not 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.
  @sample AWSIot.UpdateCertificate