@Override
    public RestoreFromSnapshotResult restoreFromSnapshot(RestoreFromSnapshotRequest request) {
        request = beforeClientExecution(request);
        return executeRestoreFromSnapshot(request);
    }
@ Override public RestoreFromSnapshotResult restoreFromSnapshot ( RestoreFromSnapshotRequest request ) { request = beforeClientExecution ( request ) ; return executeRestoreFromSnapshot ( request ) ; }
<p>
Restores a directory using an existing directory snapshot.
</p>
<p>
When you restore a directory from a snapshot, any changes made to the directory after the snapshot date are
overwritten.
</p>
<p>
This action returns as soon as the restore operation is initiated. You can monitor the progress of the restore
operation by calling the <a>DescribeDirectories</a> operation with the directory identifier. When the
<b>DirectoryDescription.Stage</b> value changes to <code>Active</code>, the restore operation is complete.
</p>

@param restoreFromSnapshotRequest
An object representing the inputs for the <a>RestoreFromSnapshot</a> operation.
@return Result of the RestoreFromSnapshot operation returned by the service.
@throws EntityDoesNotExistException
The specified entity could not be found.
@throws InvalidParameterException
One or more parameters are not valid.
@throws ClientException
A client exception has occurred.
@throws ServiceException
An exception has occurred in AWS Directory Service.
@sample AWSDirectoryService.RestoreFromSnapshot
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RestoreFromSnapshot" target="_top">AWS API
Documentation</a>