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

marquez.client.MarquezWriteOnlyClient Maven / Gradle / Ivy

package marquez.client;

import static marquez.client.models.RunState.ABORTED;
import static marquez.client.models.RunState.COMPLETED;
import static marquez.client.models.RunState.FAILED;
import static marquez.client.models.RunState.RUNNING;

import java.io.Closeable;
import java.time.Instant;
import javax.annotation.Nullable;
import marquez.client.models.DatasetMeta;
import marquez.client.models.JobMeta;
import marquez.client.models.NamespaceMeta;
import marquez.client.models.RunMeta;
import marquez.client.models.RunState;
import marquez.client.models.SourceMeta;

/**
 * The contract of a write only client to instrument jobs actions. Can be taken synchronously or
 * asynchronously
 */
public interface MarquezWriteOnlyClient extends Closeable {

  public void createNamespace(String namespaceName, NamespaceMeta namespaceMeta);

  public void createSource(String sourceName, SourceMeta sourceMeta);

  public void createDataset(String namespaceName, String datasetName, DatasetMeta datasetMeta);

  public void createJob(String namespaceName, String jobName, JobMeta jobMeta);

  public void createRun(String namespaceName, String jobName, RunMeta runMeta);

  public void markRunAs(String runId, RunState runState, @Nullable Instant at);

  public default void markRunAsRunning(String runId) {
    markRunAsRunning(runId, null);
  }

  public default void markRunAsRunning(String runId, @Nullable Instant at) {
    markRunAs(runId, RUNNING, at);
  }

  public default void markRunAsCompleted(String runId) {
    markRunAsCompleted(runId, null);
  }

  public default void markRunAsCompleted(String runId, @Nullable Instant at) {
    markRunAs(runId, COMPLETED, at);
  }

  public default void markRunAsAborted(String runId) {
    markRunAsAborted(runId, null);
  }

  public default void markRunAsAborted(String runId, @Nullable Instant at) {
    markRunAs(runId, ABORTED, at);
  }

  public default void markRunAsFailed(String runId) {
    markRunAsFailed(runId, null);
  }

  public default void markRunAsFailed(String runId, @Nullable Instant at) {
    markRunAs(runId, FAILED, at);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy