com.yahoo.vespa.hosted.controller.api.integration.RunDataStore Maven / Gradle / Ivy
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId;
import java.io.InputStream;
import java.util.Optional;
/**
* @author jonmv
*/
public interface RunDataStore {
/** Returns the run logs of the given deployment job, if existent. */
Optional get(RunId id);
/** Stores the given log for the given deployment job. */
void put(RunId id, byte[] log);
/** Returns the test report og the given deployment job, if present */
Optional getTestReport(RunId id);
/** Stores the test report for the given deployment job */
void putTestReport(RunId id, byte[] report);
/** Deletes the run logs and test report for the given deployment job. */
void delete(RunId id);
/** Deletes all data associated with the given application. */
void delete(ApplicationId id);
/** Stores Vespa logs for the run. */
void putLogs(RunId id, boolean tester, InputStream logs);
/** Fetches Vespa logs for the run. */
InputStream getLogs(RunId id, boolean tester);
}