package org.springblade.etl.engine.flink.client.submit;

import org.springblade.etl.enums.DeploymentTarget;

public final class CommandFactory {
    public static SubmitCommand buildSubmitCommand(DeploymentTarget target) {
        switch (target) {
            case STANDALONE_SESSION:
                return new RestClusterClientCommand();
            case STANDALONE_APPLICATION:
                throw new UnsupportedOperationException();
//            case YARN_SESSION:
//                return new YarnSessionSubmitCommand();
//            case YARN_APPLICATION:
//                return new YarnApplicationCommand();
//            case YARN_PER_JOB:
//                return new YarnPerJobCommand();
//            case NATIVE_KUBERNETES_SESSION:
////                return new KubernetesSessionSubmitCommand();
//            	throw new UnsupportedOperationException();
//            case NATIVE_KUBERNETES_APPLICATION:
////                return new KubernetesApplicationCommand();
//            	throw new UnsupportedOperationException();
            default:
                throw new UnsupportedOperationException();
        }
    }

}
