package org.onap.cps.ncmp.api;
import java.util.Collection;
+import javax.validation.constraints.NotNull;
import org.checkerframework.checker.nullness.qual.NonNull;
+import org.onap.cps.ncmp.api.models.DmiPluginRegistration;
import org.onap.cps.spi.FetchDescendantsOption;
import org.onap.cps.spi.model.DataNode;
+import org.onap.cps.spi.model.ModuleReference;
/*
* Datastore interface for handling CPS data.
*/
void replaceNodeTree(@NonNull String cmHandle, @NonNull String parentNodeXpath, @NonNull String jsonData);
+ /**
+ * Registration of New CM Handles.
+ *
+ * @param dmiPluginRegistration Dmi Plugin Registration
+ */
+ void updateDmiRegistrationAndSyncModule(DmiPluginRegistration dmiPluginRegistration);
+
+ /**
+ * Get resource data for data store pass-through operational
+ * using dmi.
+ *
+ * @param cmHandle cm handle
+ * @param resourceIdentifier resource identifier
+ * @param accept accept param
+ * @param fields fields query
+ * @param depth depth query
+ * @return {@code Object} resource data
+ */
+ Object getResourceDataOperationalForCmHandle(@NotNull String cmHandle,
+ @NotNull String resourceIdentifier,
+ String accept,
+ String fields,
+ Integer depth);
+
+ /**
+ * Get resource data for data store pass-through running
+ * using dmi.
+ *
+ * @param cmHandle cm handle
+ * @param resourceIdentifier resource identifier
+ * @param acceptParam accept param
+ * @param fields fields query
+ * @param depth depth query
+ * @return {@code Object} resource data
+ */
+ Object getResourceDataPassThroughRunningForCmHandle(@NotNull String cmHandle,
+ @NotNull String resourceIdentifier,
+ String acceptParam,
+ String fields,
+ Integer depth);
+
+ /**
+ * Create resource data for data store pass-through running
+ * using dmi for given cm-handle.
+ *
+ * @param cmHandle cm handle
+ * @param resourceIdentifier resource identifier
+ * @param requestBody request body to create resource
+ * @param contentType content type in body
+ */
+ void createResourceDataPassThroughRunningForCmHandle(@NotNull String cmHandle,
+ @NotNull String resourceIdentifier,
+ @NotNull String requestBody,
+ String contentType);
+
+ /**
+ * Retrieve module references for the given cm handle.
+ *
+ * @param cmHandle cm handle
+ * @return a collection of modules names and revisions
+ */
+ Collection<ModuleReference> getYangResourcesModuleReferences(@NotNull String cmHandle);
}