package com.lanyuanxiaoyao.service.flink.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.lanyuanxiaoyao.service.configuration.entity.flink.*;
import org.eclipse.collections.api.list.ImmutableList;

/**
 * Flink 服务
 *
 * @author lanyuanxiaoyao
 * @date 2023-05-04
 */
public interface FlinkService {
    FlinkOverview overview(String url) throws JsonProcessingException;

    FlinkConfig config(String url) throws JsonProcessingException;

    ImmutableList<FlinkKeyValue> jobManagerConfig(String url) throws JsonProcessingException;

    FlinkVertexOverview vertexOverview(String url) throws JsonProcessingException;

    FlinkVertex vertex(String url, String vertexId) throws JsonProcessingException;

    FlinkVertexConfig vertexConfig(String url, String vertexId) throws JsonProcessingException;

    FlinkCheckpointOverview checkpointOverview(String url, String vertexId) throws JsonProcessingException;

    FlinkCheckpoint checkpoint(String url, String vertexId, Long checkpointId) throws JsonProcessingException;

    FlinkCheckpointConfig checkpointConfig(String url, String vertexId) throws JsonProcessingException;

    FlinkTaskManagerOverview taskManagerOverview(String url) throws JsonProcessingException;

    FlinkTaskManager taskManager(String url, String taskManagerId) throws JsonProcessingException;
}
