/** * Parses snapshot definition. JSON, YAML and properties formats are supported * * @param source snapshot definition * @return this request */ public CreateSnapshotRequest source(byte[] source) { return source(source, 0, source.length); }
@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { CreateSnapshotRequest createSnapshotRequest = createSnapshotRequest(request.param("repository"), request.param("snapshot")); request.applyContentParser(p -> createSnapshotRequest.source(p.mapOrdered())); createSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", createSnapshotRequest.masterNodeTimeout())); createSnapshotRequest.waitForCompletion(request.paramAsBoolean("wait_for_completion", false)); return channel -> client.admin().cluster().createSnapshot(createSnapshotRequest, new RestToXContentListener<>(channel)); } }
/** * Parses snapshot definition. * * @param source snapshot definition * @return this request */ public CreateSnapshotRequest source(XContentBuilder source) { return source(source.bytes()); }
/** * Parses snapshot definition. JSON, YAML and properties formats are supported * * @param source snapshot definition * @return this request */ public CreateSnapshotRequest source(BytesReference source) { try (XContentParser parser = XContentFactory.xContent(source).createParser(source)) { return source(parser.mapOrdered()); } catch (IOException e) { throw new IllegalArgumentException("failed to parse snapshot source", e); } }
/** * Parses snapshot definition. JSON, YAML and properties formats are supported * * @param source snapshot definition * @param offset offset * @param length length * @return this request */ public CreateSnapshotRequest source(byte[] source, int offset, int length) { if (length > 0) { try (XContentParser parser = XContentFactory.xContent(source, offset, length).createParser(source, offset, length)) { return source(parser.mapOrdered()); } catch (IOException e) { throw new IllegalArgumentException("failed to parse repository source", e); } } return this; }
/** * Parses snapshot definition. JSON, YAML and properties formats are supported * * @param source snapshot definition * @return this request */ public CreateSnapshotRequest source(String source) { if (hasLength(source)) { try (XContentParser parser = XContentFactory.xContent(source).createParser(source)) { return source(parser.mapOrdered()); } catch (Exception e) { throw new IllegalArgumentException("failed to parse repository source [" + source + "]", e); } } return this; }
@Override public void handleRequest(final RestRequest request, final RestChannel channel, final Client client) { CreateSnapshotRequest createSnapshotRequest = createSnapshotRequest(request.param("repository"), request.param("snapshot")); createSnapshotRequest.source(request.content().toUtf8()); createSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", createSnapshotRequest.masterNodeTimeout())); createSnapshotRequest.waitForCompletion(request.paramAsBoolean("wait_for_completion", false)); client.admin().cluster().createSnapshot(createSnapshotRequest, new RestToXContentListener<CreateSnapshotResponse>(channel)); } }
@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { CreateSnapshotRequest createSnapshotRequest = createSnapshotRequest(request.param("repository"), request.param("snapshot")); request.applyContentParser(p -> createSnapshotRequest.source(p.mapOrdered())); createSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", createSnapshotRequest.masterNodeTimeout())); createSnapshotRequest.waitForCompletion(request.paramAsBoolean("wait_for_completion", false)); return channel -> client.admin().cluster().createSnapshot(createSnapshotRequest, new RestToXContentListener<>(channel)); } }
@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { CreateSnapshotRequest createSnapshotRequest = createSnapshotRequest(request.param("repository"), request.param("snapshot")); request.applyContentParser(p -> createSnapshotRequest.source(p.mapOrdered())); createSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", createSnapshotRequest.masterNodeTimeout())); createSnapshotRequest.waitForCompletion(request.paramAsBoolean("wait_for_completion", false)); return channel -> client.admin().cluster().createSnapshot(createSnapshotRequest, new RestToXContentListener<>(channel)); } }
@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { CreateSnapshotRequest createSnapshotRequest = createSnapshotRequest(request.param("repository"), request.param("snapshot")); request.applyContentParser(p -> createSnapshotRequest.source(p.mapOrdered())); createSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", createSnapshotRequest.masterNodeTimeout())); createSnapshotRequest.waitForCompletion(request.paramAsBoolean("wait_for_completion", false)); return channel -> client.admin().cluster().createSnapshot(createSnapshotRequest, new RestToXContentListener<>(channel)); } }