diff options
Diffstat (limited to 'docs')
-rwxr-xr-x | docs/apis/data-router-api.rst | 403 | ||||
-rw-r--r-- | docs/apis/drAPI1.json | 4 | ||||
-rw-r--r-- | docs/architecture.rst | 7 | ||||
-rw-r--r-- | docs/conf.py | 94 | ||||
-rw-r--r-- | docs/configuration.rst | 47 | ||||
-rw-r--r-- | docs/images/dr_bc_prov.png | bin | 51556 -> 46093 bytes | |||
-rw-r--r-- | docs/images/dr_pub_flow.png | bin | 72010 -> 94237 bytes | |||
-rw-r--r-- | docs/requirements-docs.txt | 2 |
8 files changed, 201 insertions, 356 deletions
diff --git a/docs/apis/data-router-api.rst b/docs/apis/data-router-api.rst index 1604e62d..0b1c0cbe 100755 --- a/docs/apis/data-router-api.rst +++ b/docs/apis/data-router-api.rst @@ -44,12 +44,6 @@ Specifies HTTP Headers, such as Content-Type, that define the parameters of the The HTTP Body contains the feed content when creating a feed.
-**HTTP Authorization**
-
-The user-id:password pair:
-
-* If AAF enabled: A valid AAF AppId to be authenticated and authorized by the AAF CADI framework.
-* If Non AAF : When publishing or retracting a file, a valid `EID Object`_ with publish permissions.
Create a Feed
-------------
@@ -62,43 +56,35 @@ Create a Feed **Request Parameters:**
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| Field | Description | Param Type | Data Type | MaxLen | Set By | Updatable? | Required | Valid/Example Values |
-+======================+================================+============+==================+========+========+============+==========+===============================+
-| name | Feed name | Body | String | <=20 | Client | N | Y | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| version | Feed version | Body | String | <=20 | Client | N | Y | v1.0.0 |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| description | Feed description | Body | String | <=256 | Client | Y | N | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| business description | Business description | Body | String | <=256 | Client | Y | N | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| authorization | Information for authorizing | Body |`Auth Object`_ | | Client | Y | Y | |
-| | publishing requests | | | | | | | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| suspend | Set to true if the feed is in | Body | Boolean | | Client | Y | N | * true |
-| | the suspended state | | | | | | | * false (default) |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| group-id | Auth group for feed management | Body | Integer | | Client | Y | N | 0 (default) |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| aaf_instance | The instance passed to aaf | Body | String | <=256 | Client | N | N | legacy (default) |
-| | during permission checks | | | | | | | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| Content-Type | To specify type of message | Header | String | | Client | N | Y | application/vnd.dmaap-dr.feed |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| publisher | Publisher identity as passed | Header | String | <=8 | DR | N | Y | username |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | | | | |
-| | creation time | | | | | | | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| Authorization | The user / AppId to be | Header | String | | Client | N | Y if AAF | dcae@dcae.onap.org:{password} |
-| | authorized by the AAF CADI | | | | | | enabled | |
-| | framework | | | | | | | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| X-EXCLUDE-AAF | To determine if the feed to | Header | Boolean | | Client | N | Y if AAF | * true (for legacy feed) |
-| | create is legacy or AAF | | | | | | enabled | * false (for AAF feed) |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
-| Links | URLs related to this feed | Body |`Feed Links Obj`_ | | DR | N | N | |
-+----------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| Field | Description | Param Type | Data Type | MaxLen | Set By | Updatable? | Required | Valid/Example Values |
++=========================+================================+============+==================+========+========+============+==========+===============================+
+| name | Feed name | Body | String | <=20 | Client | N | Y | |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| version | Feed version | Body | String | <=20 | Client | N | Y | v1.0.0 |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| description | Feed description | Body | String | <=256 | Client | Y | N | |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| business description | Business description | Body | String | <=256 | Client | Y | N | |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| authorization | Information for authorizing | Body |`Auth Object`_ | | Client | Y | Y | |
+| | publishing requests | | | | | | | |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| suspend | Set to true if the feed is in | Body | Boolean | | Client | Y | N | * true |
+| | the suspended state | | | | | | | * false (default) |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| group-id | Auth group for feed management | Body | Integer | | Client | Y | N | 0 (default) |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| Content-Type | To specify type of message | Header | String | | Client | N | Y | application/vnd.dmaap-dr.feed |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| Authorization | The user / AppId to be | Header | String | | Client | N | Y | Basic <credentials> |
+| | authorized | | | | | | | |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed | Header | String | <=8 | DR | N | Y | username |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | | | | |
+| | creation time | | | | | | | |
++-------------------------+--------------------------------+------------+------------------+--------+--------+------------+----------+-------------------------------+
+
**Response Codes**
@@ -158,17 +144,12 @@ Create a Feed {
"password": "dradmin",
"id": "dradmin"
- },
- {
- "password": "demo123456!",
- "id": "onap"
}
]
},
"name": "ONAP Data Feed",
"business_description": "",
- "aaf_instance": "legacy",
- "publisher": "dradmin",
+ "publisher": "{user}",
"links": {
"subscribe": "https://dmaap-dr-prov/subscribe/1",
"log": "https://dmaap-dr-prov/feedlog/1",
@@ -191,35 +172,34 @@ Update a Feed **Request Parameters:**
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| Field | Description | Param Type | Data Type | MaxLen | Required |
-+========================+=================================+=============+===============+============+=============+
-| name | Feed name | Body | String | <=20 | Y |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| description | Feed description | Body | String | <=256 | N |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| business description | Business description | Body | String | <=256 | N |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| authorization | Information for authorizing | Body |`Auth Object`_ | | Y |
-| | publishing requests | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| suspend | Set to true if the feed is in | Body | Boolean | | N |
-| | the suspended state | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| group-id | Auth group for feed management | Body | Integer | | N |
-| | | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| Content-type | To specify type of message | Header | String | | Y |
-| | (feed,subscriber,publisher) | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| publisher | Publisher identity as passed | Header | String | <=8 | Y |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
-| | creation time | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| Authorization | The user / AppId to be | Header | String | | Y if AAF |
-| | authorized by the AAF CADI | | | | enabled |
-| | framework | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| Field | Description | Param Type | Data Type | MaxLen | Required |
++=========================+=================================+=============+===============+============+=============+
+| name | Feed name | Body | String | <=20 | Y |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| description | Feed description | Body | String | <=256 | N |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| business description | Business description | Body | String | <=256 | N |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| authorization | Information for authorizing | Body |`Auth Object`_ | | Y |
+| | publishing requests | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| suspend | Set to true if the feed is in | Body | Boolean | | N |
+| | the suspended state | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| group-id | Auth group for feed management | Body | Integer | | N |
+| | | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| Content-type | To specify type of message | Header | String | | Y |
+| | (feed,subscriber,publisher) | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| Authorization | The user / AppId to be | Header | String | | Y |
+| | authorized | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed | Header | String | <=8 | Y |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
+| | creation time | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
**Response Codes**
@@ -295,8 +275,7 @@ Update a Feed },
"name": "ONAP Data Feed1",
"business_description": "Updated ONAP Feed",
- "aaf_instance": "legacy",
- "publisher": "dradmin",
+ "publisher": "{user}",
"links": {
"subscribe": "https://dmaap-dr-prov/subscribe/1",
"log": "https://dmaap-dr-prov/feedlog/1",
@@ -319,17 +298,16 @@ Get a Feed **Request Parameters:**
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| Field | Description | Param Type | Data Type | MaxLen | Required |
-+========================+=================================+=============+===============+============+=============+
-| publisher | Publisher identity as passed | Header | String | <=8 | Y |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
-| | creation time | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| Authorization | The user / AppId to be | Header | String | | Y if AAF |
-| | authorized by the AAF CADI | | | | enabled |
-| | framework | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| Field | Description | Param Type | Data Type | MaxLen | Required |
++=========================+=================================+=============+===============+============+=============+
+| Authorization | The user / AppId to be | Header | String | | Y |
+| | authorized | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed | Header | String | <=8 | Y |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
+| | creation time | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
**Response Codes**
@@ -367,17 +345,12 @@ Get a Feed {
"password": "dradmin",
"id": "dradmin"
- },
- {
- "password": "demo123456!",
- "id": "onap"
}
]
},
"name": "ONAP Data Feed",
"business_description": "Updated ONAP Feed",
- "aaf_instance": "legacy",
- "publisher": "dradmin",
+ "publisher": "{user}",
"links": {
"subscribe": "https://dmaap-dr-prov/subscribe/1",
"log": "https://dmaap-dr-prov/feedlog/1",
@@ -399,17 +372,16 @@ Delete a Feed **Request Parameters:**
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| Field | Description | Param Type | Data Type | MaxLen | Required |
-+========================+=================================+=============+===============+============+=============+
-| publisher | Publisher identity as passed | Header | String | <=8 | Y |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
-| | creation time | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
-| Authorization | The user / AppId to be | Header | String | | Y if AAF |
-| | authorized by the AAF CADI | | | | enabled |
-| | framework | | | | |
-+------------------------+---------------------------------+-------------+---------------+------------+-------------+
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| Field | Description | Param Type | Data Type | MaxLen | Required |
++=========================+=================================+=============+===============+============+=============+
+| Authorization | The user / AppId to be | Header | String | | Y |
+| | authorized | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed | Header | String | <=8 | Y |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
+| | creation time | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
**Response Codes**
@@ -438,51 +410,40 @@ Subscribe to Feed **Request Parameters:**
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| Field | Description | Param Type | Data Type | MaxLen | Set By | Updatable? | Required | Valid/Example Values |
-+=================+=================================+===============+=================+========+========+============+==========+======================================+
-| feedId | ID for the feed you are | Path | String | | Client | N | Y | 1 |
-| | subscribing to | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| delivery | Address and credentials for | Body | `Del Object`_ | | Client | Y | Y | |
-| | delivery | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| follow_redirect | Set to true if feed redirection | Body | Boolean | | Client | Y | N | * true |
-| | is expected | | | | | | | * false (default) |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| metadata_only | Set to true if subscription is | Body | Boolean | | Client | Y | Y | * true |
-| | to receive per-file metadata | | | | | | | * false |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| suspend | Set to true if the subscription | Body | Boolean | | Client | Y | N | * true |
-| | is in the suspended state | | | | | | | * false (default) |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| decompress | Set to true if the data is to | Body | Boolean | | Client | Y | N | * true |
-| | be decompressed for subscriber | | | | | | | * false (default) |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| group-id | Auth group for sub management | Body | Integer | | Client | Y | Y | 22 |
-| | | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| aaf_instance | The instance passed to aaf | Body | String | <=256 | Client | N | N | * legacy (default) |
-| | during permission checks | | | | | | | |
-| | | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| Content-type | To specify type of message | Header | String | | Client | N | Y | application/vnd.dmaap-dr.subscription|
-| | (feed,subscriber,publisher) | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| subscriber | Subscriber identity as passed | Header | String | <=8 | DR | N | Y | username |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | | | | |
-| | creation time | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| Authorization | The user / AppId to be | Header | String | | Client | N | Y if AAF | dcae@dcae.onap.org:{password} |
-| | authorized by the AAF CADI | | | | | | enabled | |
-| | framework | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| X-EXCLUDE-AAF | To determine if the feed to | Header | Boolean | | Client | N | Y if AAF | * true (for legacy feed) |
-| | create is legacy or AAF | | | | | | enabled | * false (for AAF feed) |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
-| Links | URLs related to this | Body |`Sub Links Obj`_ | | DR | N | N | |
-| | subscription | | | | | | | |
-+-----------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| Field | Description | Param Type | Data Type | MaxLen | Set By | Updatable? | Required | Valid/Example Values |
++=========================+=================================+===============+=================+========+========+============+==========+======================================+
+| feedId | ID for the feed you are | Path | String | | Client | N | Y | 1 |
+| | subscribing to | | | | | | | |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| delivery | Address and credentials for | Body | `Del Object`_ | | Client | Y | Y | |
+| | delivery | | | | | | | |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| follow_redirect | Set to true if feed redirection | Body | Boolean | | Client | Y | N | * true |
+| | is expected | | | | | | | * false (default) |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| metadata_only | Set to true if subscription is | Body | Boolean | | Client | Y | Y | * true |
+| | to receive per-file metadata | | | | | | | * false |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| suspend | Set to true if the subscription | Body | Boolean | | Client | Y | N | * true |
+| | is in the suspended state | | | | | | | * false (default) |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| decompress | Set to true if the data is to | Body | Boolean | | Client | Y | N | * true |
+| | be decompressed for subscriber | | | | | | | * false (default) |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| group-id | Auth group for sub management | Body | Integer | | Client | Y | Y | 22 |
+| | | | | | | | | |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| Content-type | To specify type of message | Header | String | | Client | N | Y | application/vnd.dmaap-dr.subscription|
+| | (feed,subscriber,publisher) | | | | | | | |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| Authorization | The user / AppId to be | Header | String | | Client | N | Y | Basic <credentials> |
+| | authorized | | | | | | | |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed | Header | String | <=8 | DR | N | Y | username |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | | | | |
+| | creation time | | | | | | | |
++-------------------------+---------------------------------+---------------+-----------------+--------+--------+------------+----------+--------------------------------------+
**Response Codes**
@@ -535,12 +496,11 @@ Subscribe to Feed "user": "LOGIN",
"url": "http://dmaap-dr-subscriber:7070/"
},
- "subscriber": "onap",
+ "subscriber": "{user}",
"groupid": 1,
"metadataOnly": false,
"follow_redirect": true,
"decompress": true,
- "aaf_instance": "legacy",
"links": {
"feed": "https://dmaap-dr-prov/feed/1",
"log": "https://dmaap-dr-prov/sublog/1",
@@ -563,44 +523,40 @@ Update subscription **Request Parameters:**
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| Field | Description | Param Type | Data Type | MaxLen | Required |
-+=================+=================================+==============+===============+========+=============+
-| subId | ID for the subscription you are | Path | String | | Y |
-| | updating | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| delivery | Address and credentials for | Body | `Del Object`_ | | Y |
-| | delivery | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| follow_redirect | Set to true if feed redirection | Body | Boolean | | N |
-| | is expected | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| metadata_only | Set to true if subscription is | Body | Boolean | | Y |
-| | to receive per-file metadata | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| suspend | Set to true if the subscription | Body | Boolean | | N |
-| | is in the suspended state | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| decompress | Set to true if the data is to | Body | Boolean | | N |
-| | be decompressed for subscriber | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| group-id | Auth group for sub management | Body | Integer | | Y |
-| | | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| Content-type | To specify type of message | Header | String | | Y |
-| | (feed,subscriber,publisher) | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| subscriber | Subscriber identity as passed | Header | String | <=8 | Y |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
-| | creation time | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| Authorization | The user / AppId to be | Header | String | | Y if AAF |
-| | authorized by the AAF CADI | | | | enabled |
-| | framework | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| X-EXCLUDE-AAF | To determine if the feed to | Header | Boolean | | Y if AAF |
-| | create is legacy or AAF | | | | enabled |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| Field | Description | Param Type | Data Type | MaxLen | Required |
++=========================+=================================+==============+===============+========+=============+
+| subId | ID for the subscription you are | Path | String | | Y |
+| | updating | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| delivery | Address and credentials for | Body | `Del Object`_ | | Y |
+| | delivery | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| follow_redirect | Set to true if feed redirection | Body | Boolean | | N |
+| | is expected | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| metadata_only | Set to true if subscription is | Body | Boolean | | Y |
+| | to receive per-file metadata | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| suspend | Set to true if the subscription | Body | Boolean | | N |
+| | is in the suspended state | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| decompress | Set to true if the data is to | Body | Boolean | | N |
+| | be decompressed for subscriber | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| group-id | Auth group for sub management | Body | Integer | | Y |
+| | | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| Content-type | To specify type of message | Header | String | | Y |
+| | (feed,subscriber,publisher) | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| Authorization | The user / AppId to be | Header | String | | Y |
+| | authorized | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Publisher identity as passed | Header | String | <=8 | Y |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
+| | creation time | | | | |
++-------------------------+---------------------------------+--------------+---------------+--------+-------------+
**Response Codes**
@@ -652,12 +608,11 @@ Update subscription "user": "NEW_LOGIN",
"url": "http://dmaap-dr-subscriber:7070/"
},
- "subscriber": "onap",
+ "subscriber": "{user}",
"groupid": 67,
"metadataOnly": true,
"follow_redirect": false,
"decompress": false,
- "aaf_instance": "legacy",
"links": {
"feed": "https://dmaap-dr-prov/feed/1",
"log": "https://dmaap-dr-prov/sublog/1",
@@ -680,17 +635,17 @@ Get a Subscription **Request Parameters:**
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| Field | Description | Param Type | Data Type | MaxLen | Required |
-+=================+=================================+==============+===============+========+=============+
-| subscriber | Subscriber identity as passed | Header | String | <=8 | Y |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
-| | creation time | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| Authorization | The user / AppId to be | Header | String | | Y if AAF |
-| | authorized by the AAF CADI | | | | enabled |
-| | framework | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| Field | Description | Param Type | Data Type | MaxLen | Required |
++=========================+=================================+=============+===============+============+=============+
+| Authorization | The user / AppId to be | Header | String | | Y |
+| | authorized | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Subscriber identity as passed | Header | String | <=8 | Y |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
+| | creation time | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+
**Response Codes**
@@ -721,13 +676,12 @@ Get a Subscription "user": "NEW_LOGIN",
"url": "http://dmaap-dr-subscriber:7070/"
},
- "subscriber": "onap",
+ "subscriber": "{user}",
"groupid": 67,
"metadataOnly": true,
"privilegedSubscriber": false,
"follow_redirect": false,
"decompress": false,
- "aaf_instance": "legacy",
"links": {
"feed": "https://dmaap-dr-prov/feed/2",
"log": "https://dmaap-dr-prov/sublog/6",
@@ -749,17 +703,16 @@ Delete a subscription **Request Parameters:**
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| Field | Description | Param Type | Data Type | MaxLen | Required |
-+=================+=================================+==============+===============+========+=============+
-| subscriber | Subscriber identity as passed | Header | String | <=8 | Y |
-| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
-| | creation time | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
-| Authorization | The user / AppId to be | Header | String | | Y if AAF |
-| | authorized by the AAF CADI | | | | enabled |
-| | framework | | | | |
-+-----------------+---------------------------------+--------------+---------------+--------+-------------+
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| Field | Description | Param Type | Data Type | MaxLen | Required |
++=========================+=================================+=============+===============+============+=============+
+| Authorization | The user / AppId to be | Header | String | | Y |
+| | authorized | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
+| X-DMAAP-DR-ON-BEHALF-OF | Subscriber identity as passed | Header | String | <=8 | Y |
+| | in X-DMAAP-DR-ON-BEHALF-OF at | | | | |
+| | creation time | | | | |
++-------------------------+---------------------------------+-------------+---------------+------------+-------------+
**Response Codes**
@@ -809,10 +762,8 @@ Publish to Feed | | * Lowercase boolean | | | | | |
| | * null | | | | | |
+------------------------+---------------------------------+------------------+------------+--------------+-------------+-------------------------------------------+
-| Authorization | An `EID Object`_ with publish | Header | String | | Y | * (legacy Feed) dradmin:dradmin |
-| | permissions. | | | | | * (AAF Feed) dcae@dcae.onap.org:{password}|
-| | If AAF CADI is enabled, use a | | | | | |
-| | valid AAF user/AppId instead. | | | | | |
+| Authorization | An `EID Object`_ with publish | Header | String | | Y | * dradmin:dradmin |
+| | permissions. | | | | | |
+------------------------+---------------------------------+------------------+------------+--------------+-------------+-------------------------------------------+
**Response Codes**
@@ -846,10 +797,8 @@ Delete/Retract a Published file +-----------------+---------------------------------+--------------+---------------+------------+-------------------------------------------+
| Field | Description | Param Type | Data Type | Required | Valid/Example Values |
+=================+=================================+==============+===============+============+===========================================+
-| Authorization | An `EID Object`_ with publish | Header | String | Y | * (legacy Feed) dradmin:dradmin |
-| | permissions. | | | | * (AAF Feed) dcae@dcae.onap.org:{password}|
-| | If AAF CADI is enabled, use a | | | | |
-| | valid AAF user/AppId instead. | | | | |
+| Authorization | An `EID Object`_ with publish | Header | String | Y | * dradmin:dradmin |
+| | permissions. | | | | |
+-----------------+---------------------------------+--------------+---------------+------------+-------------------------------------------+
| feedId | ID of the feed that was | Path | String | Y | |
| | publishing to | | | | |
diff --git a/docs/apis/drAPI1.json b/docs/apis/drAPI1.json index 67392a2b..7809ca4d 100644 --- a/docs/apis/drAPI1.json +++ b/docs/apis/drAPI1.json @@ -766,10 +766,6 @@ "type": "string", "example": "" }, - "aaf_instance": { - "type": "string", - "example": "legacy" - }, "publisher": { "type": "string", "example": "dradmin" diff --git a/docs/architecture.rst b/docs/architecture.rst index cae6bca0..7310573b 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -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. diff --git a/docs/conf.py b/docs/conf.py index 8f01b443..bd960055 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -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', diff --git a/docs/configuration.rst b/docs/configuration.rst index f7fa4bcf..b55d0730 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -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 diff --git a/docs/images/dr_bc_prov.png b/docs/images/dr_bc_prov.png Binary files differindex 9e2f7e47..932c6556 100644 --- a/docs/images/dr_bc_prov.png +++ b/docs/images/dr_bc_prov.png diff --git a/docs/images/dr_pub_flow.png b/docs/images/dr_pub_flow.png Binary files differindex 83af9bd2..e3fc0364 100644 --- a/docs/images/dr_pub_flow.png +++ b/docs/images/dr_pub_flow.png diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt index 74a3b7a3..3b3441a8 100644 --- a/docs/requirements-docs.txt +++ b/docs/requirements-docs.txt @@ -1 +1,3 @@ lfdocs-conf +sphinx>=4.2.0 # BSD +sphinx-rtd-theme>=1.0.0 # MIT |