package io.cattle.platform.configitem.version; import io.cattle.platform.configitem.events.ConfigUpdate; import io.cattle.platform.configitem.model.Client; import io.cattle.platform.configitem.model.ItemVersion; import io.cattle.platform.configitem.request.ConfigUpdateRequest; import com.google.common.util.concurrent.ListenableFuture; public interface ConfigItemStatusManager { ItemVersion getRequestedVersion(Client client, String itemName); boolean setApplied(Client client, String itemName, ItemVersion version); void setLatest(Client client, String itemName, String sourceRevision); void setItemSourceVersion(String name, String sourceRevision); boolean isAssigned(Client client, String itemName); void updateConfig(ConfigUpdateRequest request); ListenableFuture<?> whenReady(ConfigUpdateRequest request); void waitFor(ConfigUpdateRequest request); void sync(boolean migration); boolean runUpdateForEvent(String itemName, ConfigUpdate update, Client client, Runnable run); }