\r
http[s]://Username:Password@serverBaseURL{/routing}{resourcePath}\r
\r
-- The Username:Password utilizes HTTP Basic Authentication and HTTPS/TLS\r
-to securely transmit the authorization and authentication credentials\r
-that AAF needs to validate the client's access to the requested\r
-resource.\r
-- The serverBaseURL points to DMaaP Message Router host/port that will\r
-service the request. Optionally DME2 service end points for Message\r
-Router can be used.\r
-- The resourcePath specifies the specific service, or Topic, that the\r
-client is attempting to reach\r
+- The Username:Password utilizes HTTP Basic Authentication and HTTPS/TLS to securely transmit the authorization and authentication credentials that AAF needs to validate the client's access to the requested resource.\r
+\r
+- The serverBaseURL points to DMaaP Message Router host/port that will service the request. Optionally DME2 service end points for Message Router can be used.\r
+\r
+- The resourcePath specifies the specific service, or Topic, that the client is attempting to reach\r
\r
HTTP Header\r
===========\r
Request Parameters\r
==================\r
\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| Name | Description | Param Type | Data type | Max Len | Req\92d | Format | Valid/EXample values |\r
-+==========================+=================================+==================+============+===========+=============+================================+=============================+\r
-| Topicname | topic name to be posted | Path | String | 40 | Y | <app namespace>.<topicname> | org.onap.crm.empdetails |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| content-type | To specify type of message | Header | String | 20 | N | | application/json |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+| Username | userid | Header | String | | N | Basic Authentication Header | |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| Password | userid | Header | String | | N | Basic Authentication Header | |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| partitionKey | | QueryParam | String | | N | String value |?Partitionkey=123 |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-\r
-**NOTE **: Publishers/user should have access on the topics. The user (id) and\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| Name | Description | Param Type | Data type | Max Len | Required | Format | Valid/EXample values |\r
++====================+==============================+==================+============+===========+=============+================================+=============================+\r
+| Topicname | topic name to be posted | Path | String | 40 | Y | <app namespace>.<topicname> | org.onap.crm.empdetails |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| content-type | To specify type of message | Header | String | 20 | N | | application/json |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| Username | userid | Header | String | | N | Basic Authentication Header | |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| Password | | Header | String | | N | Basic Authentication Header | |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| partitionKey | | QueryParam | String | | N | String value | ?Partitionkey=123 |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+\r
+**NOTE**: Publishers/user should have access on the topics. The user (id) and\r
permissions details needs to be in AAF.\r
\r
Response Parameters\r
+------------------------+---------------+---------------------------------+---------------------------------------------------------------------------------------------------------+\r
\r
Sample Request:\r
-==============\r
+===============\r
\r
+-----------------------------------------------------------------------------------+\r
| POST |\r
+-----------------------------------------------------------------------------------+\r
\r
Sample Response:\r
-===============\r
+================\r
\r
+---------------------------------------------------------------------+\r
| HTTP/1.1 200 OK |\r
GET http(s)://{HOST:PORT}}/events/{topicname}/{consumegroup}/{consumerid}/{timeout=x}\r
\r
Request Parameters:\r
-==================\r
+===================\r
\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| Name | Description | Param Type | data type | MaxLen | Req\92d | Format | Valid/Example Values |\r
-+=============+=================================+==================+============+==============+=============+=============+=================================================+\r
-| Topicname | topic name to be posted | Path | String | 40 | Y | namespace. | |\r
-| | | | | | | String | |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+ \r
-|Consumergroup| A name that uniquely identifies | Path | String | | | | |\r
-| | your subscriber's | | | | Y | | CG1 |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| consumerId | Within your subscriber's group, | | | | | | |\r
-| | a name that uniquely identifies | Path | String | | y | | C1 |\r
-| | your subscriber's process | | | | | | | \r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| content-type| To specify type of message | | | | | |aplication/json |\r
-| | content(json,text or cambria) | Header | String | 20 | N | | |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-|Username | userid | Header | String | 1 | N | | |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| Password | | Header | String | 1 | N | | |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+ \r
++-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+--------------------------+\r
+| Name | Description | Param Type | data type | MaxLen | Required | Format | Valid/Example Values |\r
++=============+=================================+==================+============+==============+=============+=============+==========================+\r
+|Topicname | topic name to be posted | Path | String | 40 | Y | namespace. | |\r
+| | | | | | | String | |\r
++-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+--------------------------+\r
+|Consumer | A name that uniquely identifies | Path | String | | Y | | CG1 |\r
+|group | your subscribers | | | | | | |\r
++-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+--------------------------+\r
+|consumerId | Within your subscribers group, | Path | String | | Y | | C1 |\r
+| | a name that uniquely identifies | | | | | | |\r
+| | your subscribers process | | | | | | | +-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+--------------------------+\r
+|content-type | To specify type of message | Header | String | 20 | N | | aplication/json |\r
+| | content(json,text or cambria) | | | | | | |\r
++-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+--------------------------+\r
+|Username | userid | Header | String | 1 | N | | |\r
++-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+--------------------------+\r
+|Password | | Header | String | 1 | N | | |\r
++-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+--------------------------+ \r
\r
**NOTE1**:Subscribers /user should have access on the topics. The user () and\r
permissions details needs to be in AAF.\r
\r
Response Parameters:\r
-===================\r
+====================\r
\r
+------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
| Name | Description | Type | Format | Valid/Example Values |\r
| 500-599 | the DMaaP service has a problem |\r
+---------------------------+------------------------------------+\r
\r
-+-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| Error code | HTTP Code | Description |Issue reason |\r
-+=========================+=================+============================+====================================================================================================+\r
-| DMaaP\_MR\_ERR\_3008 | 413 | Request Entity too large | Message size exceeds the batch limit <limit>.Reduce the batch size and try again | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_3009 | 500 | Internal Server Error | Unable to publish messages. Please contact administartor | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_3010 | 400 | Bad Request | Incorrect Batching format. Please correct the batching format and try again | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_3011 | 413 | Request Entity too large | Message size exceeds the message size limit <limit>.Reduce the message size and try again | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| Error code | HTTP Code | Description | Issue reason |\r
++=========================+=================+============================+=============================================================================================+\r
+| DMaaP\_MR\_ERR\_3008 | 413 | Request Entity too large | Message size exceeds the batch limit <limit>.Reduce the batch size and try again |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_3009 | 500 | Internal Server Error | Unable to publish messages. Please contact administartor | +-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_3010 | 400 | Bad Request | Incorrect Batching format. Please correct the batching format and try again | +-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_3011 | 413 | Request Entity too large | Message size exceeds the message size limit <limit>.Reduce the message size and try again | +-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_5012 | 429 | Too many requests | This client is making too many requests. Please use a long poll setting to decrease the | \r
+| | | | number of requests that result in empty responses. |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| | 503 | Service Unavailable | Service Unavailable | +-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
\r
Sample Request:\r
-==============\r
+===============\r
\r
+----------------------------------------------------------------------------------------------------+\r
| GET http://<hostname>:3904/events/com.att.dmaap.mr.sprint/mygroup/mycus |\r
-| Content-Type: application/json |\r
+| |\r
+| Content-Type: application/json |\r
+| |\r
| Example: |\r
-|curl -u XXX@csp.abc.com:MRDmap2016$ -X GET -d 'MyfirstMessage' | \r
+| |\r
+|curl -u XXX@csp.abc.com:MRDmap2016$ -X GET -d 'MyfirstMessage' |\r
+| | \r
|http://mrlocal00.dcae.proto.research.att.com:3904/events/com.att.ecomp_test.crm.preDeo/myG/C1 |\r
+| |\r
|[I am r sending first msg,I am R sending first msg] |\r
+----------------------------------------------------------------------------------------------------+\r
\r
POST http(s)://{HOST:PORT}/topics/create\r
\r
Request Parameters:\r
-==================\r
+===================\r
\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
-| Name | Description | Param Type | data type | MaxLen | Req\92d | Format | Valid/Example Values |\r
-+================+=================================+==================+============+==============+=============+=============+===================================+\r
-| Topicname | topicname to be created in MR | Body | String | 20 | Y | Json | com.att.dmaap.mr.metrics |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|topicDescription| description for topic | Body | String | 15 | Y | | |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|partitionCount | Kafka topic partition | Body | String | 1 | Y | | |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|replicationCount| Kafka topic replication | Body | String | 1 | Y | | 3 (Default -for 3 node Kafka ) |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|transaction |to create transaction id for | Body | Boolean | | | | |\r
-| | each message transaction | | | 1 | N | | true |\r
-| Enabled | | | | | | | | \r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|Content-Type | application/json | Header | String | | | | application/json |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
++-----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
+| Name | Description | Param Type | datatype | MaxLen | Required | Format | Valid/Example Values |\r
++=================+=================================+==================+============+==============+=============+=============+===================================+\r
+| Topicname | topicname to be created in MR | Body | String | 20 | Y | Json | com.att.dmaap.mr.metrics |\r
++-----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+|topicDescription | description for topic | Body | String | 15 | Y | | |\r
++-----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+|partitionCount | Kafka topic partition | Body | String | 1 | Y | | |\r
++-----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+|replicationCount | Kafka topic replication | Body | String | 1 | Y | | 3 (Default -for 3 node Kafka ) |\r
++-----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+|transaction |to create transaction id for | Body | Boolean | 1 | N | | true |\r
+| Enabled | each message transaction | | | | | | |\r
++-----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+|Content-Type | application/json | Header | String | | | | application/json |\r
++-----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
\r
+---------------------------+------------------------------------+\r
| Response statusCode | Response statusMessage |\r
+=========================+=================+==================================================+\r
| DMaaP\_MR\_ERR\_5001 | 500 | Failed to retrieve list of all topics | +-------------------------+-----------------+--------------------------------------------------+\r
| DMaaP\_MR\_ERR\_5002 | 500 | Failed to retrieve details of topic:<topicName> | +-------------------------+-----------------+--------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_5003 | 500 |Failed to create topic:<topicName> | +-------------------------+-----------------+--------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_5003 | 500 | Failed to create topic:<topicName> | +-------------------------+-----------------+--------------------------------------------------+\r
| DMaaP\_MR\_ERR\_5004 | 500 | Failed to delete topic:<topicName> | +-------------------------+-----------------+--------------------------------------------------+\r
\r
+\r
Response Parameters\r
====================\r
\r
\r
\r
Sample Request:\r
-==============\r
+===============\r
+\r
+ .. code:: bash\r
+ \r
+ POST http://<hostname>:3904/topic/create \r
+ Request Body \r
+ {"topicName":"com.abc.dmaap.mr.topicname","description":"This is a SAPTopic ",\r
+ "partitionCount":"1","replicationCount":"3","transactionEnabled":"true"} \r
+ Content-Type: application/json \r
+ Example:\r
+ curl -u XXXc@csp.abc.com:xxxxx$ -H 'Content-Type:application/json' -X POST -d \r
+ @topicname.txt http://mrlocal00.dcae.proto.research.abc.com:3904/topics/create\r
+ { \r
+ "writerAcl": { \r
+ "enabled": false, \r
+ "users": [] \r
+ }, \r
+ "description": "This is a TestTopic", \r
+ "name": "com.abc.ecomp_test.crm.Load9", \r
+ "readerAcl": { \r
+ "enabled": false, \r
+ "users": [] \r
\r
-+-----------------------------------------------------------------------------------+\r
-| POST http://<hostname>:3904/topic/create |\r
-|Request Body |\r
-|{"topicName":"com.abc.dmaap.mr.topicname","description":"This is a SAPTopic ", |\r
-| "partitionCount":"1","replicationCount":"3","transactionEnabled":"true"} |\r
-| Content-Type: application/json |\r
-|Example: |\r
-|curl -u XXXc@csp.abc.com:xxxxx$ -H 'Content-Type:application/json' -X POST -d |\r
-|@topicname.txt http://mrlocal00.dcae.proto.research.abc.com:3904/topics/create |\r
-|{ |\r
-| "writerAcl": { |\r
-| "enabled": false, |\r
-| "users": [] |\r
-| }, |\r
-| "description": "This is a TestTopic", |\r
-| "name": "com.abc.ecomp_test.crm.Load9", |\r
-| "readerAcl": { |\r
-| "enabled": false, |\r
-| "users": [] |\r
-+-----------------------------------------------------------------------------------+\r
\r
GetTopic Details\r
----------------\r
Request Parameters\r
==================\r
\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
-| Name | Description | Param Type | Data type | Max Len | Req\92d | Format | Valid/EXample values |\r
-+==========================+=================================+==================+============+===========+=============+=================+=============================+\r
-| Topicname | topic name details | Body | String | 20 | Y | Json | com.abc.dmaap.mr.metrics |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
++--------------------------+-------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
+| Name | Description | Param Type | Data type | Max Len | Required | Format | Valid/EXample values |\r
++==========================+=========================+==================+============+===========+=============+=================+=============================+\r
+| Topicname | topic name details | Body | String | 20 | Y | Json | com.abc.dmaap.mr.metrics |\r
++--------------------------+-------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
\r
\r
Response Parameters\r
+------------------+------------------------+------------+----------+---------+--------------------------+\r
| description | | | String | | | \r
+------------------+------------------------+------------+----------+---------+--------------------------+\r
-|owner |user id who created the | | | | |\r
+| owner |user id who created the | | | | |\r
| | topic | | | | | \r
+------------------+------------------------+------------+----------+---------+--------------------------+\r
-| txenabled | true or false | | boolean| | | \r
+| txenabled | true or false | | boolean | | | \r
+------------------+------------------------+------------+----------+---------+--------------------------+\r
\r
+---------------------------+------------------------------------+\r
\r
\r
Sample Request:\r
-==============\r
+===============\r
\r
+-----------------------------------------------------------------------------------+\r
| GET http://<hostname>:3904/topic/com.att.dmaap.mr.testtopic |\r
| { |\r
| "txenabled": true, |\r
| "description": "This is a TestTopic", |\r
-| "owner": "XXXX@csp.abc.com", |\r
+| "owner": "XXXX@csp.abc.com", |\r
| "topicName": "com.abc.ecomp_test.crm.Load9" |\r
| }, |\r
| { |\r
-------------\r
\r
Request URL:\r
-===========\r
+============\r
\r
DELETE http(s)://{HOST:PORT}/topic/{topicname}\r
\r
Sample Request:\r
-==============\r
+===============\r
ex: http://<hostname>:3904/dmaap/v1/topics/com.att.dmaap.mr.testopic\r
\r
+---------------------------+------------------------------------+\r
+-----------+-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
| | API Name | API Method | REST API Path | | Comments |\r
+===========+===================+=========================================+=======================================+================+==================================+\r
-| Topics | GetAll Topics List| getTopics() | /topics | GET | |\r
+| Topics | GetAll Topics |getTopics() |/topics |GET | |\r
+| |List | | | | |\r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
| | Get All Topics | | | | |\r
| |List with details | getAllTopics() | /topics/listAll | GET | |\r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
| | Delete Topic | deleteTopicString topicName) | /topics/{topicName} | DELETE | Not used in current MR version |\r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
-| | Get Publishers for| getPublishersByTopicName | | | |\r
-| | a Topic | (String topicName) | /topics/{topicName}/producers | GET | UEB Backward Compatibility |\r
+| | Get Publishers | getPublishersByTopicName | | | |\r
+| | for a Topic | (String topicName) | /topics/{topicName}/producers | GET | UEB Backward Compatibility |\r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+ |\r
-| | Add a Publisher to|permitPublisherForTopic(String topicName,| /topics/{topicName}/producers/ | | |\r
-| |write ACLon a Topic| String producerId) | {producerId} | PUT | |\r
+| | Add a Publisher |permitPublisherForTopic | /topics/{topicName}/producers/ | PUT | |\r
+| |to write ACLon |(String topicName, String producerId) | {producerId} | | |\r
+| |a Topic | | | | |\r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+ |\r
-| | Remove a Publisher|denyPublisherForTopic(String topicName,|/topics/{topicName}/producers/ | | | \r
-| |from write ACL on|String producerId) |{producerId} | DELETE | |\r
+| |Remove a Publisher |denyPublisherForTopic(String topicName,|/topics/{topicName}/producers/ | | | \r
+| |from write ACL on |String producerId) |{producerId} | DELETE | |\r
| | a Topic | | | | |\r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+ |\r
-| |Get Consumers for a| getConsumersByTopicName | /topics/{topicName}/consumers | GET | |\r
-| | Topic | (String topicName) | | | |\r
+| |Get Consumers for | getConsumersByTopicName | /topics/{topicName}/consumers | GET | |\r
+| | a Topic | (String topicName) | | | |\r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+ |\r
-| | Add a Consumer to | permitConsumerForTopic(String topicName,| /topics/{topicName}/consumers/ | PUT | |\r
-| |read ACL on a Topic| String consumerId) | {consumerId} | | | \r
+| | Add a Consumer | permitConsumerForTopic(String topicName,| /topics/{topicName}/consumers/ | PUT | |\r
+| |to read ACL | String consumerId) | {consumerId} | | |\r
+| |on a Topic | | | | | \r
| +-------------------+-----------------------------------------+---------------------------------------+----------------+ |\r
| | Remove a consumer |denyPublisherForTopic(String topicName,|/topics/{topicName}/consumers/ | | | \r
-| |from write ACL on|String consumerId) |{consumerId} | | |\r
-| | a Topic | | | DELETE | |\r
+| |from write |String consumerId) |{consumerId} | | |\r
+| | ACL on a Topic | | | DELETE | |\r
+-----------+-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r