Enhancements for the aai-common library
[aai/aai-common.git] / aai-els-onap-logging / src / main / java / org / onap / aai / util / AAIConstants.java
@@ -51,6 +51,8 @@ public final class AAIConstants {
     public static final String AAI_HOME_ETC_OXM = AAI_HOME_ETC + "oxm" + AAI_FILESEP;
     public static final String AAI_EVENT_DMAAP_PROPS =
             AAI_HOME_ETC_APP_PROPERTIES + "aaiEventDMaaPPublisher.properties";
+    public static final String DELTA_EVENT_DMAAP_PROPS =
+            AAI_HOME_ETC_APP_PROPERTIES + "delta-event-publisher.properties";
     public static final String AAI_HOME_ETC_SCRIPT = AAI_HOME_ETC + AAI_FILESEP + "scriptdata" + AAI_FILESEP;
 
     public static final String AAI_LOGBACK_PROPS = "logback.xml";
@@ -89,6 +91,39 @@ public final class AAIConstants {
      */
     public static final String AAI_IMPLIED_DELETE_LOG_LIMIT = "aai.implied.delete.log.limit";
 
+    /**
+     * Specifies which clients should the implied delete be allowed
+     *
+     * If the aaiconfig properties has the below property:
+     *
+     * <code>
+     * aai.implied.delete.whitelist.sdnc=*
+     * aai.implied.delete.whitelist.sdc='pserver','vserver'
+     * </code>
+     *
+     * Then SDNC can do implied delete on any object and could potentially delete any children
+     * and SDC is allowed to do implicit delete on any child of pserver
+     *
+     * So the following request would return 200 and ends up deleting p-interfaces
+     * since the X-FromAppId is SDC and they are allowed to delete any child of pserver
+     *
+     * PUT /aai/v$/cloud-infrastructure/pservers/pserver
+     *
+     * Headers:
+     *
+     * X-FromAppId: SDC
+     * X-TransactionId: Some-Transaction-Id
+     * Content-Type: application/json
+     *
+     * <code>
+     * {
+     *  "hostname": "pserver",
+     *  "p-interfaces":{}
+     * }
+     * </code>
+     */
+    public static final String AAI_IMPLIED_DELETE_WHITELIST = "aai.implied.delete.whitelist.";
+
     public static final String AAI_BULKCONSUMER_LIMIT = "aai.bulkconsumer.payloadlimit";
     public static final String AAI_BULKCONSUMER_OVERRIDE_LIMIT = "aai.bulkconsumer.payloadoverride";