class KubernetesPodsWatcher implements Watcher<Pod> {

	@Override
	public void eventReceived(Action action, Pod pod) {
		LOG.debug("Received {} event for pod {}, details: {}", action, pod.getMetadata().getName(), pod.getStatus());
		switch (action) {
			case ADDED:
				podsCallbackHandler.onAdded(Collections.singletonList(new KubernetesPod(pod)));
				break;
			case MODIFIED:
				podsCallbackHandler.onModified(Collections.singletonList(new KubernetesPod(pod)));
				break;
			case ERROR:
				podsCallbackHandler.onError(Collections.singletonList(new KubernetesPod(pod)));
				break;
			case DELETED:
				podsCallbackHandler.onDeleted(Collections.singletonList(new KubernetesPod(pod)));
				break;
			default:
				LOG.debug("Ignore handling {} event for pod {}", action, pod.getMetadata().getName());
				break;
		}
	}

	public  KubernetesPodsWatcher(FlinkKubeClient.PodCallbackHandler callbackHandler);

}