All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dominodatalab.api.rest.ComputeClusterApi 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.DominoComputegridComputeClusterFileSyncResponse;
import com.dominodatalab.api.model.DominoComputegridComputeClusterFileSyncStatusResponse;
import com.dominodatalab.api.model.DominoComputegridComputeClusterStatus;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

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 ComputeClusterApi {
  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 ComputeClusterApi() {
    this(new ApiClient());
  }

  public ComputeClusterApi(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;
  }

  /**
   * Get the file sync status of the compute cluster for an execution
   * 
   * @param executionId ID of the execution (required)
   * @return DominoComputegridComputeClusterFileSyncStatusResponse
   * @throws ApiException if fails to make API call
   */
  public DominoComputegridComputeClusterFileSyncStatusResponse getComputeClusterFileSyncStatus(String executionId) throws ApiException {
    ApiResponse localVarResponse = getComputeClusterFileSyncStatusWithHttpInfo(executionId);
    return localVarResponse.getData();
  }

  /**
   * Get the file sync status of the compute cluster for an execution
   * 
   * @param executionId ID of the execution (required)
   * @return ApiResponse<DominoComputegridComputeClusterFileSyncStatusResponse>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getComputeClusterFileSyncStatusWithHttpInfo(String executionId) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getComputeClusterFileSyncStatusRequestBuilder(executionId);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getComputeClusterFileSyncStatus", 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 getComputeClusterFileSyncStatusRequestBuilder(String executionId) throws ApiException {
    // verify the required parameter 'executionId' is set
    if (executionId == null) {
      throw new ApiException(400, "Missing the required parameter 'executionId' when calling getComputeClusterFileSyncStatus");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/computecluster/{executionId}/computeClusterFileSyncStatus"
        .replace("{executionId}", ApiClient.urlEncode(executionId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Get the status of the compute cluster for an execution
   * 
   * @param executionId ID of the execution (required)
   * @return DominoComputegridComputeClusterStatus
   * @throws ApiException if fails to make API call
   */
  public DominoComputegridComputeClusterStatus getComputeClusterStatus(String executionId) throws ApiException {
    ApiResponse localVarResponse = getComputeClusterStatusWithHttpInfo(executionId);
    return localVarResponse.getData();
  }

  /**
   * Get the status of the compute cluster for an execution
   * 
   * @param executionId ID of the execution (required)
   * @return ApiResponse<DominoComputegridComputeClusterStatus>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getComputeClusterStatusWithHttpInfo(String executionId) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getComputeClusterStatusRequestBuilder(executionId);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getComputeClusterStatus", 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 getComputeClusterStatusRequestBuilder(String executionId) throws ApiException {
    // verify the required parameter 'executionId' is set
    if (executionId == null) {
      throw new ApiException(400, "Missing the required parameter 'executionId' when calling getComputeClusterStatus");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/computecluster/{executionId}/computeClusterStatus"
        .replace("{executionId}", ApiClient.urlEncode(executionId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Start compute cluster file sync
   * 
   * @param executionId ID of the execution (required)
   * @return DominoComputegridComputeClusterFileSyncResponse
   * @throws ApiException if fails to make API call
   */
  public DominoComputegridComputeClusterFileSyncResponse startComputeClusterFileSync(String executionId) throws ApiException {
    ApiResponse localVarResponse = startComputeClusterFileSyncWithHttpInfo(executionId);
    return localVarResponse.getData();
  }

  /**
   * Start compute cluster file sync
   * 
   * @param executionId ID of the execution (required)
   * @return ApiResponse<DominoComputegridComputeClusterFileSyncResponse>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse startComputeClusterFileSyncWithHttpInfo(String executionId) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = startComputeClusterFileSyncRequestBuilder(executionId);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("startComputeClusterFileSync", 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 startComputeClusterFileSyncRequestBuilder(String executionId) throws ApiException {
    // verify the required parameter 'executionId' is set
    if (executionId == null) {
      throw new ApiException(400, "Missing the required parameter 'executionId' when calling startComputeClusterFileSync");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/computecluster/{executionId}/computeClusterFileSync"
        .replace("{executionId}", ApiClient.urlEncode(executionId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy