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.
*
* @param dmiPluginRegistration Dmi Plugin Registration
*/
- void updateDmiPluginRegistration(DmiPluginRegistration dmiPluginRegistration);
+ void updateDmiRegistrationAndSyncModule(DmiPluginRegistration dmiPluginRegistration);
/**
* Get resource data for data store pass-through operational
* @param depth depth query
* @return {@code Object} resource data
*/
- Object getResourceDataOperationalFoCmHandle(@NonNull String cmHandle,
- @NonNull String resourceIdentifier,
- String accept,
- String fields,
- Integer depth);
+ 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);
}