code: @Override
      public RestoreSecretResult restoreSecret(RestoreSecretRequest request) {
          request = beforeClientExecution(request);
          return executeRestoreSecret(request);
      }
docs: <p>
  Cancels the scheduled deletion of a secret by removing the <code>DeletedDate</code> time stamp. This makes the
  secret accessible to query once again.
  </p>
  <p>
  <b>Minimum permissions</b>
  </p>
  <p>
  To run this command, you must have the following permissions:
  </p>
  <ul>
  <li>
  <p>
  secretsmanager:RestoreSecret
  </p>
  </li>
  </ul>
  <p>
  <b>Related operations</b>
  </p>
  <ul>
  <li>
  <p>
  To delete a secret, use <a>DeleteSecret</a>.
  </p>
  </li>
  </ul>
  
  @param restoreSecretRequest
  @return Result of the RestoreSecret operation returned by the service.
  @throws ResourceNotFoundException
  We can't find the resource that you asked for.
  @throws InvalidParameterException
  You provided an invalid value for a parameter.
  @throws InvalidRequestException
  You provided a parameter value that is not valid for the current state of the resource.</p>
  <p>
  Possible causes:
  </p>
  <ul>
  <li>
  <p>
  You tried to perform the operation on a secret that's currently marked deleted.
  </p>
  </li>
  <li>
  <p>
  You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and
  you didn't include such an ARN as a parameter in this call.
  </p>
  </li>
  @throws InternalServiceErrorException
  An error occurred on the server side.
  @sample AWSSecretsManager.RestoreSecret
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/RestoreSecret" target="_top">AWS
  API Documentation</a>