### Description

Given we have registered remotes and are able to cross cluster search/replicate I would like to be able to reindex a remote index on the local cluster.

The normal index from remote requires a host to be set. The proxy endpoint used for the remote doesn't work as that's over transport and index from remote uses the http/REST interface. Using the ES rest requires a user to be created with the correct permission, effectively not using the registered remote.

Doing a local index results in index not found:

```
# normal search works
POST remote1:example-index/_search

# results in index not found
POST _reindex
{
  "source": {
    "index": "remote1:example-index"
  },
  "dest": {
    "index": "my-new-example-index"
  }
}
```

```
{
  "error" : {
    "root_cause" : [
      {
        "type" : "index_not_found_exception",
        "reason" : "no such index [remote1:example-index]",
        "resource.type" : "index_or_alias",
        "resource.id" : "remote1:example-index",
        "index_uuid" : "_na_",
        "index" : "remote1:example-index"
      }
    ],
    "type" : "index_not_found_exception",
    "reason" : "no such index [remote1:example-index]",
    "resource.type" : "index_or_alias",
    "resource.id" : "remote1:example-index",
    "index_uuid" : "_na_",
    "index" : "remote1:example-index"
  },
  "status" : 404
}
```

modules/reindex/src/main/java/org/elasticsearch/reindex/ReindexValidator.java
import org.elasticsearch.cluster.service.ClusterService;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.logging.DeprecationCategory;
import org.elasticsearch.common.logging.DeprecationLogger;
import org.elasticsearch.common.regex.Regex;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.index.IndexNotFoundException;
import org.elasticsearch.index.reindex.ReindexRequest;
import org.elasticsearch.index.reindex.RemoteInfo;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import java.util.List;
public class ReindexValidator {
    private static final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger(ReindexValidator.class);
    static final String SORT_DEPRECATED_MESSAGE = "The sort option in reindex is deprecated. "
        + "Instead consider using query filtering to find the desired subset of data.";
    private final CharacterRunAutomaton remoteWhitelist;
    private final ClusterService clusterService;
    private final IndexNameExpressionResolver resolver;
    private final AutoCreateIndex autoCreateIndex;
    ReindexValidator(
        Settings settings,
        ClusterService clusterService,
        IndexNameExpressionResolver resolver,
        AutoCreateIndex autoCreateIndex
    ) {
        this.remoteWhitelist = buildRemoteWhitelist(TransportReindexAction.REMOTE_CLUSTER_WHITELIST.get(settings));
        this.clusterService = clusterService;
        this.resolver = resolver;
        this.autoCreateIndex = autoCreateIndex;
    }