Merge "DMAAP-DR - Jakarta DR Release Notes"
authorFiachra Corcoran <fiachra.corcoran@est.tech>
Thu, 12 May 2022 11:27:32 +0000 (11:27 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 12 May 2022 11:27:32 +0000 (11:27 +0000)
25 files changed:
csit/scripts/dmaap-datarouter/docker-compose/node.properties
csit/scripts/dmaap-datarouter/docker-compose/provserver.properties
datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeConfigManager.java
datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeServlet.java
datarouter-node/src/main/resources/node.properties
datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java
datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServletTest.java
datarouter-node/src/test/resources/node_test.properties
datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/PublishServlet.java
datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/URLUtilities.java
datarouter-prov/src/main/resources/provserver.properties
datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java
datarouter-prov/src/test/resources/h2Database.properties
datarouter-prov/src/test/resources/h2DatabaseTlsDisabled.properties [new file with mode: 0644]
docs/apis/data-router-api.rst
docs/apis/drAPI1.json
docs/architecture.rst
docs/conf.py
docs/configuration.rst
docs/images/dr_bc_prov.png
docs/images/dr_pub_flow.png
docs/requirements-docs.txt
pom.xml
releases/2.1.11-container.yaml [new file with mode: 0644]
version.properties

index 58639cf..9f3ca40 100644 (file)
@@ -80,3 +80,6 @@ CadiEnabled = false
 #
 #    AAF Props file path
 AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props
+
+#    https security required for publish request
+TlsEnabled = true
index b54868e..b38c3f5 100755 (executable)
@@ -52,4 +52,7 @@ org.onap.dmaap.datarouter.provserver.aaf.feed.type        = org.onap.dmaap-dr.fe
 org.onap.dmaap.datarouter.provserver.aaf.sub.type         = org.onap.dmaap-dr.sub
 org.onap.dmaap.datarouter.provserver.aaf.instance         = legacy
 org.onap.dmaap.datarouter.provserver.aaf.action.publish   = publish
-org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe
\ No newline at end of file
+org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe
+org.onap.dmaap.datarouter.provserver.tlsenabled           = true
+org.onap.dmaap.datarouter.nodeserver.https.port           = 8443
+org.onap.dmaap.datarouter.nodeserver.http.port            = 8080
\ No newline at end of file
index 5b5245d..3b95023 100644 (file)
@@ -102,6 +102,7 @@ public class NodeConfigManager implements DeliveryQueueHelper {
     private String aafType;
     private String aafInstance;
     private String aafAction;
+    private boolean tlsEnabled;
     private boolean cadiEnabled;
     private NodeAafPropsUtils nodeAafPropsUtils;
 
@@ -159,6 +160,8 @@ public class NodeConfigManager implements DeliveryQueueHelper {
         svcport = Integer.parseInt(drNodeProperties.getProperty("IntHttpsPort", "8443"));
         port = Integer.parseInt(drNodeProperties.getProperty("ExtHttpsPort", "443"));
         spooldir = drNodeProperties.getProperty("SpoolDir", "spool");
+        tlsEnabled = Boolean.parseBoolean(drNodeProperties.getProperty("TlsEnabled", "true"));
+
         File fdir = new File(spooldir + "/f");
         fdir.mkdirs();
         for (File junk : Objects.requireNonNull(fdir.listFiles())) {
@@ -811,6 +814,10 @@ public class NodeConfigManager implements DeliveryQueueHelper {
         return aafAction;
     }
 
+    protected boolean isTlsEnabled() {
+        return tlsEnabled;
+    }
+
     boolean getCadiEnabled() {
         return cadiEnabled;
     }
index 139c749..ee1f5b7 100644 (file)
@@ -549,7 +549,7 @@ public class NodeServlet extends HttpServlet {
             eelfLogger.info(EelfMsgs.EXIT);
             return null;
         }
-        if (!req.isSecure()) {
+        if (!req.isSecure() && config.isTlsEnabled()) {
             eelfLogger.error(
                     "NODE0104 Rejecting insecure PUT or DELETE of " + req.getPathInfo() + FROM + req
                             .getRemoteAddr());
index 1d7a5d4..f7c24fa 100644 (file)
@@ -85,3 +85,6 @@ CadiEnabled = false
 #
 #    AAF Props file path
 AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props
+
+#    https security required for publish request
+TlsEnabled = true
index e64579e..82038fb 100644 (file)
@@ -112,6 +112,7 @@ public class NodeConfigManagerTest {
         Assert.assertEquals("publish", nodeConfigManager.getAafAction());
         Assert.assertFalse(nodeConfigManager.getCadiEnabled());
         Assert.assertFalse(nodeConfigManager.isShutdown());
+        Assert.assertTrue(nodeConfigManager.isTlsEnabled());
         Assert.assertTrue(nodeConfigManager.isConfigured());
         Assert.assertEquals("legacy", nodeConfigManager.getAafInstance("1"));
         Assert.assertNotNull(nodeConfigManager.getPublishId());
index 4340b01..f7e3d7c 100644 (file)
@@ -23,7 +23,6 @@
 package org.onap.dmaap.datarouter.node;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyObject;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.anyString;
@@ -144,8 +143,9 @@ public class NodeServletTest {
     }
 
     @Test
-    public void Given_Request_Is_HTTP_PUT_And_Request_Is_Not_Secure_Then_Forbidden_Response_Is_Generated() throws Exception {
+    public void Given_Request_Is_HTTP_PUT_And_Request_Is_Not_Secure_And_TLS_Enabled_Then_Forbidden_Response_Is_Generated() throws Exception {
         when(request.isSecure()).thenReturn(false);
+        when(config.isTlsEnabled()).thenReturn(true);
         nodeServlet.doPut(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString());
         verifyEnteringExitCalled(listAppender);
@@ -284,6 +284,17 @@ public class NodeServletTest {
         verifyEnteringExitCalled(listAppender);
     }
 
+    @Test
+    public void Given_Request_Is_HTTP_DELETE_File_And_Request_Is_Not_Secure_But_TLS_Disabled_Then_Request_Succeeds() throws Exception {
+        when(request.isSecure()).thenReturn(false);
+        when(config.isTlsEnabled()).thenReturn(false);
+        when(request.getPathInfo()).thenReturn("/delete/1/dmaap-dr-node.1234567");
+        createFilesAndDirectories();
+        nodeServlet.doDelete(request, response);
+        verify(response).setStatus(eq(HttpServletResponse.SC_OK));
+        verifyEnteringExitCalled(listAppender);
+    }
+
     @Test
     public void Given_Request_Is_HTTP_DELETE_File_And_File_Does_Not_Exist_Then_Not_Found_Response_Is_Generated() throws IOException {
         when(request.getPathInfo()).thenReturn("/delete/1/nonExistingFile");
index 9359e8d..3c96ed2 100644 (file)
@@ -86,3 +86,6 @@ CadiEnabled = false
 #    AAF Props file path
 AAFPropsFilePath = src/test/resources/aaf/org.onap.dmaap-dr.props
 
+#    https security required for publish request 
+TlsEnabled = true
+
index 35205aa..949019d 100644 (file)
@@ -45,6 +45,7 @@ import org.onap.dmaap.datarouter.provisioning.utils.Poker;
 import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord;\r
 import org.onap.dmaap.datarouter.provisioning.beans.IngressRoute;\r
 import org.onap.dmaap.datarouter.provisioning.eelf.EelfMsgs;\r
+import org.onap.dmaap.datarouter.provisioning.utils.URLUtilities;\r
 \r
 /**\r
  * This servlet handles redirects for the &lt;publishURL&gt; on the provisioning server, which is generated by the\r
@@ -158,9 +159,15 @@ public class PublishServlet extends BaseServlet {
                 } else {\r
                     // Generate new URL\r
                     String nextnode = getRedirectNode(feedid, req);\r
-                    nextnode = nextnode + ":" + ProvRunner.getProvProperties().getProperty(\r
-                        "org.onap.dmaap.datarouter.provserver.https.port", "8443");\r
-                    String newurl = "https://" + nextnode + "/publish" + req.getPathInfo();\r
+                    if (Boolean.parseBoolean(ProvRunner.getProvProperties()\r
+                        .getProperty("org.onap.dmaap.datarouter.provserver.tlsenabled", "true"))) {\r
+                        nextnode = nextnode + ":" + ProvRunner.getProvProperties().getProperty(\r
+                            "org.onap.dmaap.datarouter.nodeserver.https.port", "8443");\r
+                    } else {\r
+                        nextnode = nextnode + ":" + ProvRunner.getProvProperties().getProperty(\r
+                            "org.onap.dmaap.datarouter.nodeserver.http.port", "8080");\r
+                    }\r
+                    String newurl = URLUtilities.getUrlSecurityOption() + nextnode + "/publish" + req.getPathInfo();\r
                     String qs = req.getQueryString();\r
                     if (qs != null) {\r
                         newurl += "?" + qs;\r
index 2e00002..988b576 100644 (file)
@@ -28,8 +28,8 @@ import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;\r
 import java.net.InetAddress;\r
 import java.net.UnknownHostException;\r
-\r
 import org.onap.dmaap.datarouter.provisioning.BaseServlet;\r
+import org.onap.dmaap.datarouter.provisioning.ProvRunner;\r
 \r
 /**\r
  * Utility functions used to generate the different URLs used by the Data Router.\r
@@ -39,9 +39,7 @@ import org.onap.dmaap.datarouter.provisioning.BaseServlet;
  */\r
 public class URLUtilities {\r
 \r
-\r
     private static final EELFLogger utilsLogger = EELFManager.getInstance().getLogger("UtilsLog");\r
-    private static final String HTTPS = "https://";\r
     private static String otherPod;\r
 \r
     private URLUtilities() {\r
@@ -54,7 +52,7 @@ public class URLUtilities {
      * @return the URL\r
      */\r
     public static String generateFeedURL(int feedid) {\r
-        return HTTPS + BaseServlet.getProvName() + "/feed/" + feedid;\r
+        return getUrlSecurityOption() + BaseServlet.getProvName() + getAppropriateUrlPort() + "/feed/" + feedid;\r
     }\r
 \r
     /**\r
@@ -64,7 +62,7 @@ public class URLUtilities {
      * @return the URL\r
      */\r
     public static String generatePublishURL(int feedid) {\r
-        return HTTPS + BaseServlet.getProvName() + "/publish/" + feedid;\r
+        return getUrlSecurityOption() + BaseServlet.getProvName() + getAppropriateUrlPort() + "/publish/" + feedid;\r
     }\r
 \r
     /**\r
@@ -74,7 +72,7 @@ public class URLUtilities {
      * @return the URL\r
      */\r
     public static String generateSubscribeURL(int feedid) {\r
-        return HTTPS + BaseServlet.getProvName() + "/subscribe/" + feedid;\r
+        return getUrlSecurityOption() + BaseServlet.getProvName() + getAppropriateUrlPort() + "/subscribe/" + feedid;\r
     }\r
 \r
     /**\r
@@ -84,7 +82,7 @@ public class URLUtilities {
      * @return the URL\r
      */\r
     public static String generateFeedLogURL(int feedid) {\r
-        return HTTPS + BaseServlet.getProvName() + "/feedlog/" + feedid;\r
+        return getUrlSecurityOption() + BaseServlet.getProvName() + getAppropriateUrlPort() + "/feedlog/" + feedid;\r
     }\r
 \r
     /**\r
@@ -94,7 +92,7 @@ public class URLUtilities {
      * @return the URL\r
      */\r
     public static String generateSubscriptionURL(int subid) {\r
-        return HTTPS + BaseServlet.getProvName() + "/subs/" + subid;\r
+        return getUrlSecurityOption() + BaseServlet.getProvName() + getAppropriateUrlPort() + "/subs/" + subid;\r
     }\r
 \r
     /**\r
@@ -104,7 +102,7 @@ public class URLUtilities {
      * @return the URL\r
      */\r
     public static String generateSubLogURL(int subid) {\r
-        return HTTPS + BaseServlet.getProvName() + "/sublog/" + subid;\r
+        return getUrlSecurityOption() + BaseServlet.getProvName() + getAppropriateUrlPort() + "/sublog/" + subid;\r
     }\r
 \r
     /**\r
@@ -113,7 +111,7 @@ public class URLUtilities {
      * @return the URL\r
      */\r
     public static String generatePeerProvURL() {\r
-        return HTTPS + getPeerPodName() + "/internal/prov";\r
+        return getUrlSecurityOption() + getPeerPodName() + getAppropriateUrlPort() + "/internal/prov";\r
     }\r
 \r
     /**\r
@@ -128,7 +126,7 @@ public class URLUtilities {
             return "";\r
         }\r
 \r
-        return HTTPS + peerPodUrl + "/internal/drlogs/";\r
+        return getUrlSecurityOption() + peerPodUrl + getAppropriateUrlPort() + "/internal/drlogs/";\r
     }\r
 \r
     /**\r
@@ -154,4 +152,21 @@ public class URLUtilities {
         return otherPod;\r
     }\r
 \r
+    public static String getUrlSecurityOption() {\r
+        if (Boolean.parseBoolean(ProvRunner.getProvProperties()\r
+            .getProperty("org.onap.dmaap.datarouter.provserver.tlsenabled", "true"))) {\r
+            return "https://";\r
+        }\r
+        return "http://";\r
+    }\r
+\r
+    private static String getAppropriateUrlPort() {\r
+        if (Boolean.parseBoolean(ProvRunner.getProvProperties()\r
+            .getProperty("org.onap.dmaap.datarouter.provserver.tlsenabled", "true")))\r
+                return "";\r
+\r
+        return ":" + ProvRunner.getProvProperties()\r
+            .getProperty("org.onap.dmaap.datarouter.provserver.http.port", "8080");\r
+\r
+    }\r
 }\r
index ad9a19e..642088f 100755 (executable)
@@ -56,4 +56,8 @@ org.onap.dmaap.datarouter.provserver.aaf.feed.type        = org.onap.dmaap-dr.fe
 org.onap.dmaap.datarouter.provserver.aaf.sub.type         = org.onap.dmaap-dr.sub
 org.onap.dmaap.datarouter.provserver.aaf.instance         = legacy
 org.onap.dmaap.datarouter.provserver.aaf.action.publish   = publish
-org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe
\ No newline at end of file
+org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe
+
+org.onap.dmaap.datarouter.provserver.tlsenabled           = true
+org.onap.dmaap.datarouter.nodeserver.https.port           = 8443
+org.onap.dmaap.datarouter.nodeserver.http.port            = 8080
\ No newline at end of file
index d644df9..1f4fd53 100755 (executable)
  ******************************************************************************/
 package org.onap.dmaap.datarouter.provisioning;
 
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.contains;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.onap.dmaap.datarouter.provisioning.BaseServlet.BEHALF_HEADER;
+
 import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.read.ListAppender;
 import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.HashSet;
+import java.util.Set;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+import javax.servlet.ServletInputStream;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.lang3.reflect.FieldUtils;
 import org.jetbrains.annotations.NotNull;
 import org.json.JSONObject;
@@ -45,25 +63,6 @@ import org.onap.dmaap.datarouter.provisioning.utils.ProvDbUtils;
 import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.modules.junit4.PowerMockRunner;
 
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.sql.SQLException;
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.contains;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.onap.dmaap.datarouter.provisioning.BaseServlet.BEHALF_HEADER;
-
 
 @RunWith(PowerMockRunner.class)
 @PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "org.w3c.*"})
@@ -89,7 +88,7 @@ public class SubscriptionServletTest extends DrServletTestBase {
         em = emf.createEntityManager();
         System.setProperty(
             "org.onap.dmaap.datarouter.provserver.properties",
-            "src/test/resources/h2Database.properties");
+            "src/test/resources/h2DatabaseTlsDisabled.properties");
     }
 
     @AfterClass
@@ -156,14 +155,6 @@ public class SubscriptionServletTest extends DrServletTestBase {
         verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), anyString());
     }
 
-    @Test
-    public void Given_Request_Is_HTTP_DELETE_And_AAF_CADI_Is_Enabled_Without_Permissions_Then_Forbidden_Response_Is_Generated() throws Exception {
-        when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.subscription; version=1.0");
-        when(request.getPathInfo()).thenReturn("/2");
-        subscriptionServlet.doDelete(request, response);
-        verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("AAF disallows access"));
-    }
-
     @Test
     public void Given_Request_Is_HTTP_DELETE_And_AAF_CADI_Is_Enabled_With_Permissions_Then_A_NO_CONTENT_Response_Is_Generated() throws Exception {
         when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.subscription; version=1.0");
index 6957ae1..9596871 100755 (executable)
@@ -31,3 +31,6 @@ org.onap.dmaap.datarouter.provserver.accesslog.dir         = unit-test-logs
 org.onap.dmaap.datarouter.provserver.spooldir              = src/test/resources
 org.onap.dmaap.datarouter.provserver.dbscripts             = src/test/resources
 org.onap.dmaap.datarouter.provserver.localhost             = 127.0.0.1
+org.onap.dmaap.datarouter.provserver.tlsenabled            = true
+org.onap.dmaap.datarouter.nodeserver.https.port            = 8443
+org.onap.dmaap.datarouter.nodeserver.http.port             = 8080
diff --git a/datarouter-prov/src/test/resources/h2DatabaseTlsDisabled.properties b/datarouter-prov/src/test/resources/h2DatabaseTlsDisabled.properties
new file mode 100644 (file)
index 0000000..05ab3a4
--- /dev/null
@@ -0,0 +1,36 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==================================================
+# * org.onap.dmaap
+# * ===========================================================================
+# * Copyright ? 2017 AT&T Intellectual Property. All rights reserved.
+# * ===========================================================================
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+#  *      http://www.apache.org/licenses/LICENSE-2.0
+# *
+#  * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# * ============LICENSE_END====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+
+# Database access
+org.onap.dmaap.datarouter.db.driver                        = org.h2.Driver
+org.onap.dmaap.datarouter.db.url                           = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
+org.onap.dmaap.datarouter.provserver.isaddressauthenabled  = true
+org.onap.dmaap.datarouter.provserver.cadi.enabled          = true
+org.onap.dmaap.datarouter.provserver.https.relaxation      = false
+org.onap.dmaap.datarouter.provserver.accesslog.dir         = unit-test-logs
+org.onap.dmaap.datarouter.provserver.spooldir              = src/test/resources
+org.onap.dmaap.datarouter.provserver.dbscripts             = src/test/resources
+org.onap.dmaap.datarouter.provserver.localhost             = 127.0.0.1
+org.onap.dmaap.datarouter.provserver.tlsenabled            = false
+org.onap.dmaap.datarouter.nodeserver.https.port            = 8443
+org.onap.dmaap.datarouter.nodeserver.http.port             = 8080
index 1604e62..0b1c0cb 100755 (executable)
@@ -44,12 +44,6 @@ Specifies HTTP Headers, such as Content-Type, that define the parameters of the
 \r
 The HTTP Body contains the feed content when creating a feed.\r
 \r
-**HTTP Authorization**\r
-\r
-The user-id:password pair:\r
-\r
-* If AAF enabled:  A valid AAF AppId to be authenticated and authorized by the AAF CADI framework.\r
-* If Non AAF    :  When publishing or retracting a file, a valid `EID Object`_ with publish permissions.\r
 \r
 Create a Feed\r
 -------------\r
@@ -62,43 +56,35 @@ Create a Feed
 \r
 **Request Parameters:**\r
 \r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| Field                | Description                    | Param Type | Data Type        | MaxLen | Set By | Updatable? | Required |  Valid/Example Values         |\r
-+======================+================================+============+==================+========+========+============+==========+===============================+\r
-| name                 | Feed name                      | Body       | String           | <=20   | Client | N          | Y        |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| version              | Feed version                   | Body       | String           | <=20   | Client | N          | Y        | v1.0.0                        |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| description          | Feed description               | Body       | String           | <=256  | Client | Y          | N        |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| business description | Business description           | Body       | String           | <=256  | Client | Y          | N        |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| authorization        | Information for authorizing    | Body       |`Auth Object`_    |        | Client | Y          | Y        |                               |\r
-|                      | publishing requests            |            |                  |        |        |            |          |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| suspend              | Set to true if the feed is in  | Body       | Boolean          |        | Client | Y          | N        | * true                        |\r
-|                      | the suspended state            |            |                  |        |        |            |          | * false (default)             |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| group-id             | Auth group for feed management | Body       | Integer          |        | Client | Y          | N        | 0 (default)                   |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| aaf_instance         | The instance passed to aaf     | Body       | String           | <=256  | Client | N          | N        | legacy (default)              |\r
-|                      | during permission checks       |            |                  |        |        |            |          |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| Content-Type         | To specify type of message     | Header     | String           |        | Client | N          | Y        | application/vnd.dmaap-dr.feed |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| publisher            | Publisher identity as passed   | Header     | String           | <=8    | DR     | N          | Y        | username                      |\r
-|                      | in X-DMAAP-DR-ON-BEHALF-OF at  |            |                  |        |        |            |          |                               |\r
-|                      | creation time                  |            |                  |        |        |            |          |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| Authorization        | The user / AppId to be         | Header     | String           |        | Client | N          | Y if AAF | dcae@dcae.onap.org:{password} |\r
-|                      | authorized by the AAF CADI     |            |                  |        |        |            | enabled  |                               |\r
-|                      | framework                      |            |                  |        |        |            |          |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| X-EXCLUDE-AAF        | To determine if the feed to    | Header     | Boolean          |        | Client | N          | Y if AAF | * true (for legacy feed)      |\r
-|                      | create is legacy or AAF        |            |                  |        |        |            | enabled  | * false (for AAF feed)        |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
-| Links                | URLs related to this feed      | Body       |`Feed Links Obj`_ |        | DR     | N          | N        |                               |\r
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| Field                   | Description                    | Param Type | Data Type        | MaxLen | Set By | Updatable? | Required |  Valid/Example Values         |\r
++=========================+================================+============+==================+========+========+============+==========+===============================+\r
+| name                    | Feed name                      | Body       | String           | <=20   | Client | N          | Y        |                               |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| version                 | Feed version                   | Body       | String           | <=20   | Client | N          | Y        | v1.0.0                        |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| description             | Feed description               | Body       | String           | <=256  | Client | Y          | N        |                               |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| business description    | Business description           | Body       | String           | <=256  | Client | Y          | N        |                               |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| authorization           | Information for authorizing    | Body       |`Auth Object`_    |        | Client | Y          | Y        |                               |\r
+|                         | publishing requests            |            |                  |        |        |            |          |                               |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| suspend                 | Set to true if the feed is in  | Body       | Boolean          |        | Client | Y          | N        | * true                        |\r
+|                         | the suspended state            |            |                  |        |        |            |          | * false (default)             |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| group-id                | Auth group for feed management | Body       | Integer          |        | Client | Y          | N        | 0 (default)                   |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| Content-Type            | To specify type of message     | Header     | String           |        | Client | N          | Y        | application/vnd.dmaap-dr.feed |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| Authorization           | The user / AppId to be         | Header     | String           |        | Client | N          | Y        | Basic <credentials>           |\r
+|                         | authorized                     |            |                  |        |        |            |          |                               |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed   | Header     | String           | <=8    | DR     | N          | Y        | username                      |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at  |            |                  |        |        |            |          |                               |\r
+|                         | creation time                  |            |                  |        |        |            |          |                               |\r
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+\r
+\r
 \r
 **Response Codes**\r
 \r
@@ -158,17 +144,12 @@ Create a Feed
           {\r
             "password": "dradmin",\r
             "id": "dradmin"\r
-          },\r
-          {\r
-            "password": "demo123456!",\r
-            "id": "onap"\r
           }\r
         ]\r
       },\r
       "name": "ONAP Data Feed",\r
       "business_description": "",\r
-      "aaf_instance": "legacy",\r
-      "publisher": "dradmin",\r
+      "publisher": "{user}",\r
       "links": {\r
         "subscribe": "https://dmaap-dr-prov/subscribe/1",\r
         "log": "https://dmaap-dr-prov/feedlog/1",\r
@@ -191,35 +172,34 @@ Update a Feed
 \r
 **Request Parameters:**\r
 \r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| Field                  | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
-+========================+=================================+=============+===============+============+=============+\r
-| name                   | Feed name                       |     Body    |   String      |   <=20     |     Y       |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| description            | Feed description                |     Body    |   String      |   <=256    |     N       |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| business description   | Business description            |     Body    |   String      |   <=256    |     N       |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| authorization          | Information for authorizing     |     Body    |`Auth Object`_ |            |     Y       |\r
-|                        | publishing requests             |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| suspend                | Set to true if the feed is in   |     Body    |   Boolean     |            |     N       |\r
-|                        | the suspended state             |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| group-id               | Auth group for feed management  |     Body    |   Integer     |            |     N       |\r
-|                        |                                 |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| Content-type           | To specify type of message      |    Header   |   String      |            |     Y       |\r
-|                        | (feed,subscriber,publisher)     |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| publisher              | Publisher identity as passed    |    Header   |   String      |   <=8      |     Y       |\r
-|                        | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
-|                        | creation time                   |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| Authorization          | The user / AppId to be          |    Header   |   String      |            | Y if AAF    |\r
-|                        | authorized by the AAF CADI      |             |               |            | enabled     |\r
-|                        | framework                       |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| Field                   | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
++=========================+=================================+=============+===============+============+=============+\r
+| name                    | Feed name                       |     Body    |   String      |   <=20     |     Y       |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| description             | Feed description                |     Body    |   String      |   <=256    |     N       |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| business description    | Business description            |     Body    |   String      |   <=256    |     N       |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| authorization           | Information for authorizing     |     Body    |`Auth Object`_ |            |     Y       |\r
+|                         | publishing requests             |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| suspend                 | Set to true if the feed is in   |     Body    |   Boolean     |            |     N       |\r
+|                         | the suspended state             |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| group-id                | Auth group for feed management  |     Body    |   Integer     |            |     N       |\r
+|                         |                                 |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| Content-type            | To specify type of message      |    Header   |   String      |            |     Y       |\r
+|                         | (feed,subscriber,publisher)     |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| Authorization           | The user / AppId to be          |    Header   |   String      |            |     Y       |\r
+|                         | authorized                      |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed    |    Header   |   String      | <=8        |     Y       |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
+|                         | creation time                   |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
 \r
 **Response Codes**\r
 \r
@@ -295,8 +275,7 @@ Update a Feed
       },\r
       "name": "ONAP Data Feed1",\r
       "business_description": "Updated ONAP Feed",\r
-      "aaf_instance": "legacy",\r
-      "publisher": "dradmin",\r
+      "publisher": "{user}",\r
       "links": {\r
         "subscribe": "https://dmaap-dr-prov/subscribe/1",\r
         "log": "https://dmaap-dr-prov/feedlog/1",\r
@@ -319,17 +298,16 @@ Get a Feed
 \r
 **Request Parameters:**\r
 \r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| Field                  | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
-+========================+=================================+=============+===============+============+=============+\r
-| publisher              | Publisher identity as passed    |    Header   |   String      |   <=8      |     Y       |\r
-|                        | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
-|                        | creation time                   |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| Authorization          | The user / AppId to be          |    Header   |   String      |            | Y if AAF    |\r
-|                        | authorized by the AAF CADI      |             |               |            | enabled     |\r
-|                        | framework                       |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| Field                   | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
++=========================+=================================+=============+===============+============+=============+\r
+| Authorization           | The user / AppId to be          |    Header   |   String      |            |     Y       |\r
+|                         | authorized                      |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed    |    Header   |   String      | <=8        |     Y       |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
+|                         | creation time                   |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
 \r
 **Response Codes**\r
 \r
@@ -367,17 +345,12 @@ Get a Feed
           {\r
             "password": "dradmin",\r
             "id": "dradmin"\r
-          },\r
-          {\r
-            "password": "demo123456!",\r
-            "id": "onap"\r
           }\r
         ]\r
       },\r
       "name": "ONAP Data Feed",\r
       "business_description": "Updated ONAP Feed",\r
-      "aaf_instance": "legacy",\r
-      "publisher": "dradmin",\r
+      "publisher": "{user}",\r
       "links": {\r
         "subscribe": "https://dmaap-dr-prov/subscribe/1",\r
         "log": "https://dmaap-dr-prov/feedlog/1",\r
@@ -399,17 +372,16 @@ Delete a Feed
 \r
 **Request Parameters:**\r
 \r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| Field                  | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
-+========================+=================================+=============+===============+============+=============+\r
-| publisher              | Publisher identity as passed    |    Header   |   String      |   <=8      |     Y       |\r
-|                        | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
-|                        | creation time                   |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
-| Authorization          | The user / AppId to be          |    Header   |   String      |            | Y if AAF    |\r
-|                        | authorized by the AAF CADI      |             |               |            | enabled     |\r
-|                        | framework                       |             |               |            |             |\r
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| Field                   | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
++=========================+=================================+=============+===============+============+=============+\r
+| Authorization           | The user / AppId to be          |    Header   |   String      |            |     Y       |\r
+|                         | authorized                      |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed    |    Header   |   String      | <=8        |     Y       |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
+|                         | creation time                   |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
 \r
 **Response Codes**\r
 \r
@@ -438,51 +410,40 @@ Subscribe to Feed
 \r
 **Request Parameters:**\r
 \r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| Field           | Description                     |  Param Type   |  Data Type      | MaxLen | Set By | Updatable? | Required |  Valid/Example Values                |\r
-+=================+=================================+===============+=================+========+========+============+==========+======================================+\r
-| feedId          | ID for the feed you are         |     Path      |   String        |        | Client |     N      |     Y    | 1                                    |\r
-|                 | subscribing to                  |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| delivery        | Address and credentials for     |     Body      | `Del Object`_   |        | Client |     Y      |     Y    |                                      |\r
-|                 | delivery                        |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| follow_redirect | Set to true if feed redirection |     Body      |   Boolean       |        | Client |     Y      |     N    | * true                               |\r
-|                 | is expected                     |               |                 |        |        |            |          | * false (default)                    |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| metadata_only   | Set to true if subscription is  |     Body      |   Boolean       |        | Client |     Y      |     Y    | * true                               |\r
-|                 | to receive per-file metadata    |               |                 |        |        |            |          | * false                              |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| suspend         | Set to true if the subscription |     Body      |   Boolean       |        | Client |     Y      |     N    | * true                               |\r
-|                 | is in the suspended state       |               |                 |        |        |            |          | * false (default)                    |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| decompress      | Set to true if the data is to   |     Body      |   Boolean       |        | Client |     Y      |     N    | * true                               |\r
-|                 | be decompressed for subscriber  |               |                 |        |        |            |          | * false (default)                    |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| group-id        | Auth group for sub management   |     Body      |   Integer       |        | Client |     Y      |     Y    | 22                                   |\r
-|                 |                                 |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| aaf_instance    | The instance passed to aaf      |     Body      |   String        | <=256  | Client |     N      |     N    | * legacy (default)                   |\r
-|                 | during permission checks        |               |                 |        |        |            |          |                                      |\r
-|                 |                                 |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| Content-type    | To specify type of message      |     Header    |   String        |        | Client |     N      |     Y    | application/vnd.dmaap-dr.subscription|\r
-|                 | (feed,subscriber,publisher)     |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| subscriber      | Subscriber identity as passed   |     Header    |   String        |   <=8  |  DR    |     N      |     Y    | username                             |\r
-|                 | in X-DMAAP-DR-ON-BEHALF-OF at   |               |                 |        |        |            |          |                                      |\r
-|                 | creation time                   |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| Authorization   | The user / AppId to be          |    Header     |   String        |        | Client |     N      | Y if AAF | dcae@dcae.onap.org:{password}        |\r
-|                 | authorized by the AAF CADI      |               |                 |        |        |            | enabled  |                                      |\r
-|                 | framework                       |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| X-EXCLUDE-AAF   | To determine if the feed to     |    Header     |   Boolean       |        | Client |     N      | Y if AAF | * true (for legacy feed)             |\r
-|                 | create is legacy or AAF         |               |                 |        |        |            | enabled  | * false (for AAF feed)               |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
-| Links           | URLs related to this            |     Body      |`Sub Links Obj`_ |        |  DR    |     N      |     N    |                                      |\r
-|                 | subscription                    |               |                 |        |        |            |          |                                      |\r
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| Field                   | Description                     |  Param Type   |  Data Type      | MaxLen | Set By | Updatable? | Required |  Valid/Example Values                |\r
++=========================+=================================+===============+=================+========+========+============+==========+======================================+\r
+| feedId                  | ID for the feed you are         |     Path      |   String        |        | Client |     N      |     Y    | 1                                    |\r
+|                         | subscribing to                  |               |                 |        |        |            |          |                                      |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| delivery                | Address and credentials for     |     Body      | `Del Object`_   |        | Client |     Y      |     Y    |                                      |\r
+|                         | delivery                        |               |                 |        |        |            |          |                                      |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| follow_redirect         | Set to true if feed redirection |     Body      |   Boolean       |        | Client |     Y      |     N    | * true                               |\r
+|                         | is expected                     |               |                 |        |        |            |          | * false (default)                    |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| metadata_only           | Set to true if subscription is  |     Body      |   Boolean       |        | Client |     Y      |     Y    | * true                               |\r
+|                         | to receive per-file metadata    |               |                 |        |        |            |          | * false                              |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| suspend                 | Set to true if the subscription |     Body      |   Boolean       |        | Client |     Y      |     N    | * true                               |\r
+|                         | is in the suspended state       |               |                 |        |        |            |          | * false (default)                    |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| decompress              | Set to true if the data is to   |     Body      |   Boolean       |        | Client |     Y      |     N    | * true                               |\r
+|                         | be decompressed for subscriber  |               |                 |        |        |            |          | * false (default)                    |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| group-id                | Auth group for sub management   |     Body      |   Integer       |        | Client |     Y      |     Y    | 22                                   |\r
+|                         |                                 |               |                 |        |        |            |          |                                      |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| Content-type            | To specify type of message      |     Header    |    String       |        | Client |     N      |     Y    | application/vnd.dmaap-dr.subscription|\r
+|                         | (feed,subscriber,publisher)     |               |                 |        |        |            |          |                                      |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| Authorization           | The user / AppId to be          |    Header     |    String       |        | Client | N          | Y        | Basic <credentials>                  |\r
+|                         | authorized                      |               |                 |        |        |            |          |                                      |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed    |    Header     |    String       | <=8    | DR     | N          | Y        | username                             |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at   |               |                 |        |        |            |          |                                      |\r
+|                         | creation time                   |               |                 |        |        |            |          |                                      |\r
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+\r
 \r
 **Response Codes**\r
 \r
@@ -535,12 +496,11 @@ Subscribe to Feed
         "user": "LOGIN",\r
         "url": "http://dmaap-dr-subscriber:7070/"\r
       },\r
-      "subscriber": "onap",\r
+      "subscriber": "{user}",\r
       "groupid": 1,\r
       "metadataOnly": false,\r
       "follow_redirect": true,\r
       "decompress": true,\r
-      "aaf_instance": "legacy",\r
       "links": {\r
         "feed": "https://dmaap-dr-prov/feed/1",\r
         "log": "https://dmaap-dr-prov/sublog/1",\r
@@ -563,44 +523,40 @@ Update subscription
 \r
 **Request Parameters:**\r
 \r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| Field           | Description                     |  Param Type  |  Data Type    | MaxLen |  Required   |\r
-+=================+=================================+==============+===============+========+=============+\r
-| subId           | ID for the subscription you are |     Path     |   String      |        |     Y       |\r
-|                 | updating                        |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| delivery        | Address and credentials for     |     Body     | `Del Object`_ |        |     Y       |\r
-|                 | delivery                        |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| follow_redirect | Set to true if feed redirection |     Body     |   Boolean     |        |     N       |\r
-|                 | is expected                     |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| metadata_only   | Set to true if subscription is  |     Body     |   Boolean     |        |     Y       |\r
-|                 | to receive per-file metadata    |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| suspend         | Set to true if the subscription |     Body     |   Boolean     |        |     N       |\r
-|                 | is in the suspended state       |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| decompress      | Set to true if the data is to   |     Body     |   Boolean     |        |     N       |\r
-|                 | be decompressed for subscriber  |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| group-id        | Auth group for sub management   |     Body     |   Integer     |        |     Y       |\r
-|                 |                                 |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| Content-type    | To specify type of message      |     Header   |   String      |        |     Y       |\r
-|                 | (feed,subscriber,publisher)     |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| subscriber      | Subscriber identity as passed   |     Header   |   String      |  <=8   |     Y       |\r
-|                 | in X-DMAAP-DR-ON-BEHALF-OF at   |              |               |        |             |\r
-|                 | creation time                   |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| Authorization   | The user / AppId to be          |    Header    |   String      |        |  Y if AAF   |\r
-|                 | authorized by the AAF CADI      |              |               |        |  enabled    |\r
-|                 | framework                       |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| X-EXCLUDE-AAF   | To determine if the feed to     |    Header    |   Boolean     |        |  Y if AAF   |\r
-|                 | create is legacy or AAF         |              |               |        |  enabled    |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| Field                   | Description                     |  Param Type  |  Data Type    | MaxLen |  Required   |\r
++=========================+=================================+==============+===============+========+=============+\r
+| subId                   | ID for the subscription you are |     Path     |   String      |        |     Y       |\r
+|                         | updating                        |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| delivery                | Address and credentials for     |     Body     | `Del Object`_ |        |     Y       |\r
+|                         | delivery                        |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| follow_redirect         | Set to true if feed redirection |     Body     |   Boolean     |        |     N       |\r
+|                         | is expected                     |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| metadata_only           | Set to true if subscription is  |     Body     |   Boolean     |        |     Y       |\r
+|                         | to receive per-file metadata    |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| suspend                 | Set to true if the subscription |     Body     |   Boolean     |        |     N       |\r
+|                         | is in the suspended state       |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| decompress              | Set to true if the data is to   |     Body     |   Boolean     |        |     N       |\r
+|                         | be decompressed for subscriber  |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| group-id                | Auth group for sub management   |     Body     |   Integer     |        |     Y       |\r
+|                         |                                 |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| Content-type            | To specify type of message      |     Header   |   String      |        |     Y       |\r
+|                         | (feed,subscriber,publisher)     |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| Authorization           | The user / AppId to be          |    Header    |   String      |        |     Y       |\r
+|                         | authorized                      |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed    |    Header    |   String      | <=8    |     Y       |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at   |              |               |        |             |\r
+|                         | creation time                   |              |               |        |             |\r
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+\r
 \r
 **Response Codes**\r
 \r
@@ -652,12 +608,11 @@ Update subscription
         "user": "NEW_LOGIN",\r
         "url": "http://dmaap-dr-subscriber:7070/"\r
       },\r
-      "subscriber": "onap",\r
+      "subscriber": "{user}",\r
       "groupid": 67,\r
       "metadataOnly": true,\r
       "follow_redirect": false,\r
       "decompress": false,\r
-      "aaf_instance": "legacy",\r
       "links": {\r
         "feed": "https://dmaap-dr-prov/feed/1",\r
         "log": "https://dmaap-dr-prov/sublog/1",\r
@@ -680,17 +635,17 @@ Get a Subscription
 \r
 **Request Parameters:**\r
 \r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| Field           | Description                     |  Param Type  |  Data Type    | MaxLen |  Required   |\r
-+=================+=================================+==============+===============+========+=============+\r
-| subscriber      | Subscriber identity as passed   |    Header    |   String      |  <=8   |     Y       |\r
-|                 | in X-DMAAP-DR-ON-BEHALF-OF at   |              |               |        |             |\r
-|                 | creation time                   |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| Authorization   | The user / AppId to be          |    Header    |   String      |        |  Y if AAF   |\r
-|                 | authorized by the AAF CADI      |              |               |        |  enabled    |\r
-|                 | framework                       |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| Field                   | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
++=========================+=================================+=============+===============+============+=============+\r
+| Authorization           | The user / AppId to be          |    Header   |   String      |            |     Y       |\r
+|                         | authorized                      |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Subscriber identity as passed   |    Header   |   String      | <=8        |     Y       |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
+|                         | creation time                   |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+\r
 \r
 **Response Codes**\r
 \r
@@ -721,13 +676,12 @@ Get a Subscription
         "user": "NEW_LOGIN",\r
         "url": "http://dmaap-dr-subscriber:7070/"\r
       },\r
-      "subscriber": "onap",\r
+      "subscriber": "{user}",\r
       "groupid": 67,\r
       "metadataOnly": true,\r
       "privilegedSubscriber": false,\r
       "follow_redirect": false,\r
       "decompress": false,\r
-      "aaf_instance": "legacy",\r
       "links": {\r
         "feed": "https://dmaap-dr-prov/feed/2",\r
         "log": "https://dmaap-dr-prov/sublog/6",\r
@@ -749,17 +703,16 @@ Delete a subscription
 \r
 **Request Parameters:**\r
 \r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| Field           | Description                     |  Param Type  |  Data Type    | MaxLen |  Required   |\r
-+=================+=================================+==============+===============+========+=============+\r
-| subscriber      | Subscriber identity as passed   |     Header   |   String      |  <=8   |     Y       |\r
-|                 | in X-DMAAP-DR-ON-BEHALF-OF at   |              |               |        |             |\r
-|                 | creation time                   |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
-| Authorization   | The user / AppId to be          |    Header    |   String      |        |  Y if AAF   |\r
-|                 | authorized by the AAF CADI      |              |               |        |  enabled    |\r
-|                 | framework                       |              |               |        |             |\r
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| Field                   | Description                     |  Param Type |  Data Type    |  MaxLen    |  Required   |\r
++=========================+=================================+=============+===============+============+=============+\r
+| Authorization           | The user / AppId to be          |    Header   |   String      |            |     Y       |\r
+|                         | authorized                      |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
+| X-DMAAP-DR-ON-BEHALF-OF | Subscriber identity as passed   |    Header   |   String      | <=8        |     Y       |\r
+|                         | in X-DMAAP-DR-ON-BEHALF-OF at   |             |               |            |             |\r
+|                         | creation time                   |             |               |            |             |\r
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+\r
 \r
 **Response Codes**\r
 \r
@@ -809,10 +762,8 @@ Publish to Feed
 |                        | * Lowercase boolean             |                  |            |              |             |                                           |\r
 |                        | * null                          |                  |            |              |             |                                           |\r
 +------------------------+---------------------------------+------------------+------------+--------------+-------------+-------------------------------------------+\r
-| Authorization          | An `EID Object`_ with publish   |     Header       |  String    |              |     Y       | * (legacy Feed) dradmin:dradmin           |\r
-|                        | permissions.                    |                  |            |              |             | * (AAF Feed) dcae@dcae.onap.org:{password}|\r
-|                        | If AAF CADI is enabled, use a   |                  |            |              |             |                                           |\r
-|                        | valid AAF user/AppId instead.   |                  |            |              |             |                                           |\r
+| Authorization          | An `EID Object`_ with publish   |     Header       |  String    |              |     Y       | * dradmin:dradmin                         |\r
+|                        | permissions.                    |                  |            |              |             |                                           |\r
 +------------------------+---------------------------------+------------------+------------+--------------+-------------+-------------------------------------------+\r
 \r
 **Response Codes**\r
@@ -846,10 +797,8 @@ Delete/Retract a Published file
 +-----------------+---------------------------------+--------------+---------------+------------+-------------------------------------------+\r
 | Field           | Description                     |  Param Type  |  Data Type    | Required   |  Valid/Example Values                     |\r
 +=================+=================================+==============+===============+============+===========================================+\r
-| Authorization   | An `EID Object`_ with publish   |   Header     |    String     |    Y       | * (legacy Feed) dradmin:dradmin           |\r
-|                 | permissions.                    |              |               |            | * (AAF Feed) dcae@dcae.onap.org:{password}|\r
-|                 | If AAF CADI is enabled, use a   |              |               |            |                                           |\r
-|                 | valid AAF user/AppId instead.   |              |               |            |                                           |\r
+| Authorization   | An `EID Object`_ with publish   |   Header     |    String     |    Y       | * dradmin:dradmin                         |\r
+|                 | permissions.                    |              |               |            |                                           |\r
 +-----------------+---------------------------------+--------------+---------------+------------+-------------------------------------------+\r
 | feedId          | ID of the feed that was         |     Path     |    String     |    Y       |                                           |\r
 |                 | publishing to                   |              |               |            |                                           |\r
index 67392a2..7809ca4 100644 (file)
           "type": "string",
           "example": ""
         },
-        "aaf_instance": {
-          "type": "string",
-          "example": "legacy"
-        },
         "publisher": {
           "type": "string",
           "example": "dradmin"
index cae6bca..7310573 100644 (file)
@@ -10,13 +10,6 @@ Capabilities
 The DMaaP Data Router (DR) provisioning API is an HTTPS-based, REST-like API for creating and managing
 DR feeds and subscriptions, which provides a pub/sub architectural model for the transfer of data.
 
-The DR API also supports `AAF CADI authorization <https://docs.onap.org/en/latest/submodules/aaf/authz.git/docs/sections/architecture/cadi.html#authorization>`_.
-
-To use this feature, the API client must provide a valid AAF AppID / MechID with each request.
-To enable this feature, see the :ref:`configuration` section.
-
-.. note:: In future releases, AAF CADI auth will be enabled by default.
-
 Usage Scenarios
 ---------------
 Typically, DR pub clients request the provisioning of a new DR feed.
index 8f01b44..bd96005 100644 (file)
@@ -1,103 +1,9 @@
 from docs_conf.conf import *
 
-branch = 'latest'
-doc_url = 'https://docs.onap.org/projects'
 master_doc = 'index'
 
 intersphinx_mapping = {}
 
-# Latest (change to branch)
-intersphinx_mapping['onap-aai-aai-common'] = ('{}/onap-aai-aai-common/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-aai-sparky-be'] = ('{}/onap-aai-sparky-be/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-ccsdk-cds'] = ('{}/onap-ccsdk-cds/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-ccsdk-features'] = ('{}/onap-ccsdk-features/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-ccsdk-distribution'] = ('{}/onap-ccsdk-distribution/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-ccsdk-oran'] = ('{}/onap-ccsdk-oran/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-cli'] = ('{}/onap-cli/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-cps'] = ('{}/onap-cps/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-dcaegen2'] = ('{}/onap-dcaegen2/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-dmaap-messagerouter-messageservice'] = (
-    '{}/onap-dmaap-messagerouter-messageservice/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-dmaap-buscontroller'] = ('{}/onap-dmaap-buscontroller/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-dmaap-datarouter'] = ('{}/onap-dmaap-datarouter/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-dmaap-dbcapi'] = ('{}/onap-dmaap-dbcapi/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-externalapi-nbi'] = ('{}/onap-externalapi-nbi/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-holmes-engine-management'] = (
-    '{}/onap-holmes-engine-management/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-holmes-rule-management'] = (
-    '{}/onap-holmes-rule-management/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-integration'] = ('{}/onap-integration/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-modeling-etsicatalog'] = ('{}/onap-modeling-etsicatalog/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-modeling-modelspec'] = ('{}/onap-modeling-modelspec/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-multicloud-framework'] = ('{}/onap-multicloud-framework/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-msb-apigateway'] = ('{}/onap-msb-apigateway/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-oom'] = ('{}/onap-oom/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-oom-offline-installer'] = ('{}/onap-oom-offline-installer/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-oom-platform-cert-service'] = (
-    '{}/onap-oom-platform-cert-service/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-optf-cmso'] = ('{}/onap-optf-cmso/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-optf-osdf'] = ('{}/onap-optf-osdf/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-optf-has'] = ('{}/onap-optf-has/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-policy-clamp'] = ('{}/onap-policy-clamp/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-policy-parent'] = ('{}/onap-policy-parent/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-sdc'] = ('{}/onap-sdc/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-sdnc-oam'] = ('{}/onap-sdnc-oam/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-so'] = ('{}/onap-so/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-usecase-ui'] = ('{}/onap-usecase-ui/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vfc-nfvo-lcm'] = ('{}/onap-vfc-nfvo-lcm/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vid'] = ('{}/onap-vid/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vnfrqts-guidelines'] = ('{}/onap-vnfrqts-guidelines/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vnfrqts-requirements'] = ('{}/onap-vnfrqts-requirements/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vnfrqts-testcases'] = ('{}/onap-vnfrqts-testcases/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vnfrqts-usecases'] = ('{}/onap-vnfrqts-usecases/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vnfsdk-model'] = ('{}/onap-vnfsdk-model/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vvp-documentation'] = ('{}/onap-vvp-documentation/en/%s'.format(doc_url) % branch, None)
-
-# Guilin
-branch = 'guilin'
-intersphinx_mapping['onap-portal'] = ('{}/onap-portal/en/%s'.format(doc_url) % branch, None)
-
-# Frankfurt
-branch = 'frankfurt'
-intersphinx_mapping['onap-appc'] = ('{}/onap-appc/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-appc-deployment'] = ('{}/onap-appc-deployment/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-music'] = ('{}/onap-music/en/%s'.format(doc_url) % branch, None)
-
-# Latest
-branch = 'latest'
-intersphinx_mapping['onap-aaf-authz'] = ('{}/onap-aaf-authz/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-aaf-sms'] = ('{}/onap-aaf-sms/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-aai-event-client'] = ('{}/onap-aai-event-client/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-aai-esr-gui'] = ('{}/onap-aai-esr-gui/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-aai-esr-server'] = ('{}/onap-aai-esr-server/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-ccsdk-apps'] = ('{}/onap-ccsdk-apps/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-ccsdk-dashboard'] = ('{}/onap-ccsdk-dashboard/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-ccsdk-platform-plugins'] = (
-    '{}/onap-ccsdk-platform-plugins/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-logging-analytics'] = ('{}/onap-logging-analytics/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-logging-analytics-pomba-pomba-audit-common'] = (
-    '{}/onap-logging-analytics-pomba-pomba-audit-common/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-modeling-toscaparsers'] = (
-    '{}/onap-modeling-toscaparsers/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-msb-discovery'] = ('{}/onap-msb-discovery/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-msb-java-sdk'] = ('{}/onap-msb-java-sdk/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-msb-swagger-sdk'] = ('{}/onap-msb-swagger-sdk/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-multicloud-azure'] = ('{}/onap-multicloud-azure/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-multicloud-k8s'] = ('{}/onap-multicloud-k8s/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-music-distributed-kv-store'] = (
-    '{}/onap-music-distributed-kv-store/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-oparent-cia'] = ('{}/onap-oparent-cia/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-osa'] = ('{}/onap-osa/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-sdc-sdc-distribution-client'] = (
-    '{}/onap-sdc-sdc-distribution-client/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-sdc-sdc-workflow-designer'] = (
-    '{}/onap-sdc-sdc-workflow-designer/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-sdc-sdc-tosca'] = ('{}/onap-sdc-sdc-tosca/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-sdc-sdc-docker-base'] = ('{}/onap-sdc-sdc-docker-base/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-so-libs'] = ('{}/onap-so-libs/en/%s'.format(doc_url) % branch, None)
-intersphinx_mapping['onap-vfc-nfvo-driver-vnfm-svnfm'] = (
-    '{}/onap-vfc-nfvo-driver-vnfm-svnfm/en/%s'.format(doc_url) % branch, None)
-
 linkcheck_ignore = [
     'http://localhost',
     'https://example.com',
index f7fa4bc..b55d073 100644 (file)
@@ -6,38 +6,37 @@
 Configuration
 =============
 
-Configuration properties for both Data Router Provisioning server and Data Router Node server should remain as default values.
+Most configuration properties for both Data Router Provisioning server and Data Router Node server
+should remain as default values.
 
-The only exception to this, is when enabling the AAF CADI framework to authorize the DR provisioning requests.
+An exception to this is when a user wants to run over HTTP (non TLS).
 
-.. note:: The AAF CADI filtering feature is disabled by default. When AAF CADI auth is enabled, all DR API calls must provide an AAF AppID to access the relevant API endpoint.
+For DR Provisioning server config, edit the following props in the provserver.properties file.
 
-To enable DR AAF CADI authorization, the following steps are required:
+.. code-block:: bash
 
-DR CADI Prerequisites:
-    * AAF deployment
+    org.onap.dmaap.datarouter.provserver.tlsenabled  = false
 
-Update the following properties at deployment time.
+and ensure aaf cadi is disabled also
 
+.. code-block:: bash
 
-**DMaaP DR Prov AAF properties**
+    org.onap.dmaap.datarouter.provserver.cadi.enabled = false
 
-::
 
-    # AAF config
-    org.onap.dmaap.datarouter.provserver.cadi.enabled = true
+For DR Node server config, edit the following props in the node.properties file to target http.
 
-    # AAF URL to connect to AAF server
-    org.onap.dmaap.datarouter.provserver.cadi.aaf.url = https://<RELEVANT_AAF_URL>:8095
-
-
-**DMaaP DR Node AAF properties**
-
-::
-
-    # AAF URL to connect to AAF server
-    AafUrl = https://<RELEVANT_AAF_URL>:8095
-
-    # AAF CADI enabled flag
-    CadiEnabled = true
+.. code-block:: bash
 
+    #    URL to retrieve dynamic configuration
+    ProvisioningURL = http://dmaap-dr-prov:8080/internal/prov
+    #
+    #    URL to upload PUB/DEL/EXP logs
+    LogUploadURL = http://dmaap-dr-prov:8080/internal/logs
+    ...
+    #
+    #    AAF CADI enabled flag
+    CadiEnabled = false
+    #
+    #    Enable to run over http or https (default true|https)
+    TlsEnabled = false
index 9e2f7e4..932c655 100644 (file)
Binary files a/docs/images/dr_bc_prov.png and b/docs/images/dr_bc_prov.png differ
index 83af9bd..e3fc036 100644 (file)
Binary files a/docs/images/dr_pub_flow.png and b/docs/images/dr_pub_flow.png differ
index 74a3b7a..3b3441a 100644 (file)
@@ -1 +1,3 @@
 lfdocs-conf
+sphinx>=4.2.0  # BSD
+sphinx-rtd-theme>=1.0.0  # MIT
diff --git a/pom.xml b/pom.xml
index 5d1c178..ec0aedf 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
     </parent>
     <properties>
         <!--revision must also be set in the version.properties file at project root-->
-        <revision>2.1.10-SNAPSHOT</revision>
+        <revision>2.1.11-SNAPSHOT</revision>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
diff --git a/releases/2.1.11-container.yaml b/releases/2.1.11-container.yaml
new file mode 100644 (file)
index 0000000..4ed856d
--- /dev/null
@@ -0,0 +1,12 @@
+distribution_type: 'container'
+container_release_tag: '2.1.11'
+project: 'dmaap-datarouter'
+log-dir: 'dmaap-datarouter-maven-docker-stage-master/1018'
+ref: e49f6d600a6bdc828a2cd8a8e04b1182586a5e19
+containers:
+  - name: dmaap/datarouter-prov
+    version: 2.1.11-STAGING-20220405T154924Z
+  - name: dmaap/datarouter-node
+    version: 2.1.11-STAGING-20220405T154924Z
+  - name: dmaap/datarouter-subscriber
+    version: 2.1.11-STAGING-20220405T154924Z
\ No newline at end of file
index cd2abb7..d0a3828 100644 (file)
@@ -27,7 +27,7 @@
 \r
 major=2\r
 minor=1\r
-patch=10\r
+patch=11\r
 \r
 base_version=${major}.${minor}.${patch}\r
 \r