com.dominodatalab.api.rest.LaunchersApi Maven / Gradle / Ivy
/*
* Domino Data Lab API v4
* This API is going to provide access to all the Domino functions available in the user interface. To authenticate your requests, include your API Key (which you can find on your account page) with the header X-Domino-Api-Key.
*
* The version of the OpenAPI document: 4.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.dominodatalab.api.rest;
import com.dominodatalab.api.invoker.ApiClient;
import com.dominodatalab.api.invoker.ApiException;
import com.dominodatalab.api.invoker.ApiResponse;
import com.dominodatalab.api.invoker.Pair;
import com.dominodatalab.api.model.DominoApiErrorResponse;
import com.dominodatalab.api.model.DominoLauncherjobApiLauncherJobStartDto;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.net.http.HttpRequest;
import java.nio.channels.Channels;
import java.nio.channels.Pipe;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import java.util.ArrayList;
import java.util.StringJoiner;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2023-10-17T15:20:46.682098100-04:00[America/New_York]")
public class LaunchersApi {
private final HttpClient memberVarHttpClient;
private final ObjectMapper memberVarObjectMapper;
private final String memberVarBaseUri;
private final Consumer memberVarInterceptor;
private final Duration memberVarReadTimeout;
private final Consumer> memberVarResponseInterceptor;
private final Consumer> memberVarAsyncResponseInterceptor;
public LaunchersApi() {
this(new ApiClient());
}
public LaunchersApi(ApiClient apiClient) {
memberVarHttpClient = apiClient.getHttpClient();
memberVarObjectMapper = apiClient.getObjectMapper();
memberVarBaseUri = apiClient.getBaseUri();
memberVarInterceptor = apiClient.getRequestInterceptor();
memberVarReadTimeout = apiClient.getReadTimeout();
memberVarResponseInterceptor = apiClient.getResponseInterceptor();
memberVarAsyncResponseInterceptor = apiClient.getAsyncResponseInterceptor();
}
protected ApiException getApiException(String operationId, HttpResponse response) throws IOException {
String body = response.body() == null ? null : new String(response.body().readAllBytes());
String message = formatExceptionMessage(operationId, response.statusCode(), body);
return new ApiException(response.statusCode(), message, response.headers(), body);
}
private String formatExceptionMessage(String operationId, int statusCode, String body) {
if (body == null || body.isEmpty()) {
body = "[no body]";
}
return operationId + " call failed with: " + statusCode + " - " + body;
}
/**
* starts an existing launcher job
*
* @param projectId Id of the project (required)
* @param launcherId Id of the existing launcher (required)
* @param dominoLauncherjobApiLauncherJobStartDto Information required to start a Job for an existing Launcher. Note that the object in uploadedFiles must contain the Base64 encoded text version of the file (required)
* @return String
* @throws ApiException if fails to make API call
*/
public String startLauncherJob(String projectId, String launcherId, DominoLauncherjobApiLauncherJobStartDto dominoLauncherjobApiLauncherJobStartDto) throws ApiException {
ApiResponse localVarResponse = startLauncherJobWithHttpInfo(projectId, launcherId, dominoLauncherjobApiLauncherJobStartDto);
return localVarResponse.getData();
}
/**
* starts an existing launcher job
*
* @param projectId Id of the project (required)
* @param launcherId Id of the existing launcher (required)
* @param dominoLauncherjobApiLauncherJobStartDto Information required to start a Job for an existing Launcher. Note that the object in uploadedFiles must contain the Base64 encoded text version of the file (required)
* @return ApiResponse<String>
* @throws ApiException if fails to make API call
*/
public ApiResponse startLauncherJobWithHttpInfo(String projectId, String launcherId, DominoLauncherjobApiLauncherJobStartDto dominoLauncherjobApiLauncherJobStartDto) throws ApiException {
HttpRequest.Builder localVarRequestBuilder = startLauncherJobRequestBuilder(projectId, launcherId, dominoLauncherjobApiLauncherJobStartDto);
try {
HttpResponse localVarResponse = memberVarHttpClient.send(
localVarRequestBuilder.build(),
HttpResponse.BodyHandlers.ofInputStream());
if (memberVarResponseInterceptor != null) {
memberVarResponseInterceptor.accept(localVarResponse);
}
try {
if (localVarResponse.statusCode()/ 100 != 2) {
throw getApiException("startLauncherJob", localVarResponse);
}
return new ApiResponse(
localVarResponse.statusCode(),
localVarResponse.headers().map(),
localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
);
} finally {
}
} catch (IOException e) {
throw new ApiException(e);
}
catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new ApiException(e);
}
}
private HttpRequest.Builder startLauncherJobRequestBuilder(String projectId, String launcherId, DominoLauncherjobApiLauncherJobStartDto dominoLauncherjobApiLauncherJobStartDto) throws ApiException {
// verify the required parameter 'projectId' is set
if (projectId == null) {
throw new ApiException(400, "Missing the required parameter 'projectId' when calling startLauncherJob");
}
// verify the required parameter 'launcherId' is set
if (launcherId == null) {
throw new ApiException(400, "Missing the required parameter 'launcherId' when calling startLauncherJob");
}
// verify the required parameter 'dominoLauncherjobApiLauncherJobStartDto' is set
if (dominoLauncherjobApiLauncherJobStartDto == null) {
throw new ApiException(400, "Missing the required parameter 'dominoLauncherjobApiLauncherJobStartDto' when calling startLauncherJob");
}
HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
String localVarPath = "/projects/{projectId}/launcherJob/{launcherId}"
.replace("{projectId}", ApiClient.urlEncode(projectId.toString()))
.replace("{launcherId}", ApiClient.urlEncode(launcherId.toString()));
localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
localVarRequestBuilder.header("Content-Type", "application/json");
localVarRequestBuilder.header("Accept", "application/json");
try {
byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoLauncherjobApiLauncherJobStartDto);
localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
} catch (IOException e) {
throw new ApiException(e);
}
if (memberVarReadTimeout != null) {
localVarRequestBuilder.timeout(memberVarReadTimeout);
}
if (memberVarInterceptor != null) {
memberVarInterceptor.accept(localVarRequestBuilder);
}
return localVarRequestBuilder;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy