package io.cattle.platform.systemstack.catalog; import io.cattle.platform.archaius.util.ArchaiusUtil; import io.cattle.platform.core.addon.CatalogTemplate; import io.cattle.platform.core.model.ProjectTemplate; import io.cattle.platform.core.model.Stack; import java.io.IOException; import java.util.List; import java.util.Map; import com.netflix.config.DynamicStringProperty; public interface CatalogService { public static final DynamicStringProperty DEFAULT_TEMPLATE = ArchaiusUtil.getString("project.template.default.name"); Map<String, CatalogTemplate> resolvedExternalIds(List<CatalogTemplate> templates) throws IOException; Stack deploy(Long accountId, CatalogTemplate template) throws IOException; Map<String, Map<Object, Object>> getTemplates(List<ProjectTemplate> installed) throws IOException; Map<String, String> latestInfraTemplates() throws IOException; String getTemplateIdFromExternalId(String externalId); Stack upgrade(Stack stack) throws IOException; String getDefaultExternalId(Stack stack) throws IOException; }