blob: 7f187d4e620c2038acfc3b2eb9547ecb362372db [file] [log] [blame]
DMaaP Bus Controller REST API 1.1.0
===================================
.. toctree::
:maxdepth: 3
Description
~~~~~~~~~~~
provides an API for OpenDCAE components which need to provision
underlying DMaaP technologies (Data Router and Message Router).
Primary clients for this API are anticipated to be the OpenDCAE
Controller, OpenDCAE Orchestrator, OpenDCAE Inventory and the
ECOMP Portal.
Objects managed by DMaaP are deployed in a dcaeLocation which is a
unique identifier for an OpenStack tenant for a dcaeLayer,
opendcae-central (aka ecomp) or opendcae-local-ntc (aka edge).
A dcaeEnvironment (e.g. FTL or prod) has a single DMaaP. A
DMaaP is managed by a one or more stateless DMaaP Bus
Controller(s), though Bus Controller relies on PGaaS for
persistence. Each DMaaP has a single instance of Data Router,
which has 1 or more DR_Nodes deployed at each dcaeLocation. DR
Clients of type DR_Pub generally publish to a DR_Node that is
local to its dcaeLocation. Routing for a Feed is determined by
the dcaelocation of its DR_Sub clients.
A DMaaP may have many Message Router instances. Each instance is
deployed as an MR_Cluster. One MR_Cluster is deployed at each
dcaeLocation. MR_Clients generally communicate to the
MR_Cluster at the same dcaeLocation. Replication of messages
between MR_Clusters is accomplished by MR Bridge, which is
provioned by DMaaP Bus Controller based on Topic attributes.
Therefore, the role of DMaaP Bus Controller is to support other
DCAE infrastructure components to dynamically provision DMaaP
services on behalf of DMaaP clients, and to assist in any
management or discovery activity of its clients.
A convention of this API is to return JSON responses per
OpenStack style.
Contact Information
~~~~~~~~~~~~~~~~~~~
http://www.onap.org
License
~~~~~~~
`Licensed under the Apache License, Version 2.0 <http://www.apache.org/licenses/LICENSE-2.0>`_
Base URL
~~~~~~~~
http://www.[host]:[port]/webapi
https://www.[host]:[port]/webapi
BRIDGE
~~~~~~
Endpoint for retreiving MR Bridge metrics
GET ``/bridge``
---------------
Summary
+++++++
return BrTopic details
Description
+++++++++++
.. raw:: html
Returns array of `BrTopic` objects. If source and target query params are specified, only report on that bridge. If detail param is true, list topics names, else just a count is returned.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
mmagent | query | No | string | | |
detail | query | No | boolean | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`BrTopic <d_d71baea9d8e4e59bc395ef51f45dff1b>`
**Example:**
.. code-block:: javascript
{
"brSource": "somestring",
"brTarget": "somestring",
"mmAgentName": "somestring",
"topicCount": 1
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/bridge``
---------------
Summary
+++++++
update MirrorMaker details
Description
+++++++++++
.. raw:: html
replace the topic list for a specific Bridge. Use JSON Body for value to replace whitelist, but if refreshFlag param is true, simply refresh using existing whitelist.If split param is true, spread whitelist over smaller mmagents.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
mmagent | query | No | string | | |
refresh | query | No | boolean | | |
split | query | No | boolean | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`BrTopic <d_d71baea9d8e4e59bc395ef51f45dff1b>`
**Example:**
.. code-block:: javascript
{
"brSource": "somestring",
"brTarget": "somestring",
"mmAgentName": "somestring",
"topicCount": 1
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DCAELOCATIONS
~~~~~~~~~~~~~
an OpenStack tenant purposed for OpenDCAE (i.e. where OpenDCAE components might be deployed)
POST ``/dcaeLocations``
-----------------------
Summary
+++++++
return dcaeLocation details
Description
+++++++++++
.. raw:: html
Create some `dcaeLocation` which is a unique identifier for an *OpenStack* tenant purposed for a *dcaeLayer* (ecomp or edge).
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
**Example:**
.. code-block:: javascript
{
"central": true,
"clli": "somestring",
"dcaeLayer": "somestring",
"dcaeLocationName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"local": true,
"openStackAvailabilityZone": "somestring",
"status": "EMPTY",
"subnet": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/dcaeLocations/{locationName}``
----------------------------------------
Summary
+++++++
return dcaeLocation details
Description
+++++++++++
.. raw:: html
delete a dcaeLocation
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
locationName | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
successful operation
Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
**Example:**
.. code-block:: javascript
{
"central": true,
"clli": "somestring",
"dcaeLayer": "somestring",
"dcaeLocationName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"local": true,
"openStackAvailabilityZone": "somestring",
"status": "EMPTY",
"subnet": "somestring"
}
**204**
^^^^^^^
Success
Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
**Example:**
.. code-block:: javascript
{
"central": true,
"clli": "somestring",
"dcaeLayer": "somestring",
"dcaeLocationName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"local": true,
"openStackAvailabilityZone": "somestring",
"status": "EMPTY",
"subnet": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dcaeLocations/{locationName}``
-------------------------------------
Summary
+++++++
return dcaeLocation details
Description
+++++++++++
.. raw:: html
Returns a specific `dcaeLocation` object with specified tag
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
locationName | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
**Example:**
.. code-block:: javascript
{
"central": true,
"clli": "somestring",
"dcaeLayer": "somestring",
"dcaeLocationName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"local": true,
"openStackAvailabilityZone": "somestring",
"status": "EMPTY",
"subnet": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dcaeLocations``
----------------------
Summary
+++++++
return dcaeLocation details
Description
+++++++++++
.. raw:: html
Returns array of `dcaeLocation` objects. All objects managed by DMaaP are deployed in some `dcaeLocation` which is a unique identifier for an *OpenStack* tenant purposed for a *dcaeLayer* (ecomp or edge).
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
**Example:**
.. code-block:: javascript
{
"central": true,
"clli": "somestring",
"dcaeLayer": "somestring",
"dcaeLocationName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"local": true,
"openStackAvailabilityZone": "somestring",
"status": "EMPTY",
"subnet": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/dcaeLocations/{locationName}``
-------------------------------------
Summary
+++++++
return dcaeLocation details
Description
+++++++++++
.. raw:: html
update the openStackAvailabilityZone of a dcaeLocation
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
locationName | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
**Example:**
.. code-block:: javascript
{
"central": true,
"clli": "somestring",
"dcaeLayer": "somestring",
"dcaeLocationName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"local": true,
"openStackAvailabilityZone": "somestring",
"status": "EMPTY",
"subnet": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DMAAP
~~~~~
V2 Endpoint for this instance of DMaaP object containing values for this OpenDCAE deployment
POST ``/dmaap_v2``
------------------
Summary
+++++++
return dmaap details
Description
+++++++++++
.. raw:: html
Create a new DMaaP set system wide configuration settings for the *dcaeEnvironment*. Deprecated with introduction of persistence in 1610.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
**Example:**
.. code-block:: javascript
{
"accessKeyOwner": "somestring",
"bridgeAdminTopic": "somestring",
"dmaapName": "somestring",
"drProvUrl": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"loggingUrl": "somestring",
"nodeKey": "somestring",
"status": "EMPTY",
"topicNsRoot": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
POST ``/dmaap``
---------------
Summary
+++++++
return dmaap details
Description
+++++++++++
.. raw:: html
Create a new DMaaP set system wide configuration settings for the *dcaeEnvironment*. Deprecated with introduction of persistence in 1610.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
**Example:**
.. code-block:: javascript
{
"accessKeyOwner": "somestring",
"bridgeAdminTopic": "somestring",
"dmaapName": "somestring",
"drProvUrl": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"loggingUrl": "somestring",
"nodeKey": "somestring",
"status": "EMPTY",
"topicNsRoot": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dmaap_v2``
-----------------
Summary
+++++++
return dmaap details
Description
+++++++++++
.. raw:: html
returns the `dmaap` object, which contains system wide configuration settings
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
**Example:**
.. code-block:: javascript
{
"accessKeyOwner": "somestring",
"bridgeAdminTopic": "somestring",
"dmaapName": "somestring",
"drProvUrl": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"loggingUrl": "somestring",
"nodeKey": "somestring",
"status": "EMPTY",
"topicNsRoot": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dmaap``
--------------
Summary
+++++++
return dmaap details
Description
+++++++++++
.. raw:: html
returns the `dmaap` object, which contains system wide configuration settings
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
**Example:**
.. code-block:: javascript
{
"accessKeyOwner": "somestring",
"bridgeAdminTopic": "somestring",
"dmaapName": "somestring",
"drProvUrl": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"loggingUrl": "somestring",
"nodeKey": "somestring",
"status": "EMPTY",
"topicNsRoot": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/dmaap_v2``
-----------------
Summary
+++++++
return dmaap details
Description
+++++++++++
.. raw:: html
Update system settings for *dcaeEnvironment*.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
**Example:**
.. code-block:: javascript
{
"accessKeyOwner": "somestring",
"bridgeAdminTopic": "somestring",
"dmaapName": "somestring",
"drProvUrl": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"loggingUrl": "somestring",
"nodeKey": "somestring",
"status": "EMPTY",
"topicNsRoot": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/dmaap``
--------------
Summary
+++++++
return dmaap details
Description
+++++++++++
.. raw:: html
Update system settings for *dcaeEnvironment*.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
**Example:**
.. code-block:: javascript
{
"accessKeyOwner": "somestring",
"bridgeAdminTopic": "somestring",
"dmaapName": "somestring",
"drProvUrl": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"loggingUrl": "somestring",
"nodeKey": "somestring",
"status": "EMPTY",
"topicNsRoot": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DR_NODES
~~~~~~~~
Endpoint for a Data Router Node server
POST ``/dr_nodes``
------------------
Summary
+++++++
return DR_Node details
Description
+++++++++++
.. raw:: html
create a `DR_Node` in a *dcaeLocation*. Note that multiple `DR_Node`s may exist in the same `dcaeLocation`.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"hostName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"status": "EMPTY",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/dr_nodes/{fqdn}``
---------------------------
Summary
+++++++
No Content
Description
+++++++++++
.. raw:: html
Delete a single `DR_Node` object.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
fqdn | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
successful operation
Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"hostName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"status": "EMPTY",
"version": "somestring"
}
**204**
^^^^^^^
Success
Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"hostName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"status": "EMPTY",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dr_nodes/{fqdn}``
------------------------
Summary
+++++++
return DR_Node details
Description
+++++++++++
.. raw:: html
Retrieve a single `DR_Node` object.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
fqdn | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"hostName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"status": "EMPTY",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dr_nodes``
-----------------
Summary
+++++++
return DR_Node details
Description
+++++++++++
.. raw:: html
Returns array of `DR_Node` object array. Need to add filter by dcaeLocation.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"hostName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"status": "EMPTY",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/dr_nodes/{fqdn}``
------------------------
Summary
+++++++
return DR_Node details
Description
+++++++++++
.. raw:: html
Update a single `DR_Node` object.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
fqdn | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"hostName": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"status": "EMPTY",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DR_PUBS
~~~~~~~
Endpoint for a Data Router client that implements a Publisher
POST ``/dr_pubs``
-----------------
Summary
+++++++
return DR_Pub details
Description
+++++++++++
.. raw:: html
create a DR Publisher in the specified environment.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/dr_pubs/{pubId}``
---------------------------
Summary
+++++++
return DR_Pub details
Description
+++++++++++
.. raw:: html
delete a DR Publisher in the specified environment. Delete a `DR_Pub` object by pubId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
pubId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
successful operation
Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
**204**
^^^^^^^
Success
Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dr_pubs/{pubId}``
------------------------
Summary
+++++++
return DR_Pub details
Description
+++++++++++
.. raw:: html
returns a DR Publisher in the specified environment. Gets a `DR_Pub` object by pubId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
pubId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dr_pubs``
----------------
Summary
+++++++
return DR_Pub details
Description
+++++++++++
.. raw:: html
Returns array of `DR_Pub` objects. Add filter for feedId.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/dr_pubs/{pubId}``
------------------------
Summary
+++++++
return DR_Pub details
Description
+++++++++++
.. raw:: html
update a DR Publisher in the specified environment. Update a `DR_Pub` object by pubId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
pubId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DR_SUBS
~~~~~~~
Endpoint for a Data Router client that implements a Subscriber
POST ``/dr_subs``
-----------------
Summary
+++++++
return DR_Sub details
Description
+++++++++++
.. raw:: html
Create a `DR_Sub` object.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
**Example:**
.. code-block:: javascript
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/dr_subs/{subId}``
---------------------------
Summary
+++++++
return DR_Sub details
Description
+++++++++++
.. raw:: html
Delete a `DR_Sub` object, selected by subId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
subId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
**Example:**
.. code-block:: javascript
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dr_subs/{subId}``
------------------------
Summary
+++++++
return DR_Sub details
Description
+++++++++++
.. raw:: html
Retrieve a `DR_Sub` object, selected by subId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
subId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
**Example:**
.. code-block:: javascript
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/dr_subs``
----------------
Summary
+++++++
return DR_Sub details
Description
+++++++++++
.. raw:: html
Returns array of `DR_Sub` objects. Add filter for feedId.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
**Example:**
.. code-block:: javascript
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/dr_subs/{subId}``
------------------------
Summary
+++++++
return DR_Sub details
Description
+++++++++++
.. raw:: html
Update a `DR_Sub` object, selected by subId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
subId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
**Example:**
.. code-block:: javascript
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
FEEDS
~~~~~
Endpoint for a Data Router Feed
POST ``/feeds``
---------------
Summary
+++++++
return Feed details
Description
+++++++++++
.. raw:: html
Create a of `Feed` object.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
useExisting | query | No | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
**Example:**
.. code-block:: javascript
{
"asprClassification": "somestring",
"bytes": [
"somestring",
"somestring"
],
"feedDescription": "somestring",
"feedId": "somestring",
"feedName": "somestring",
"feedVersion": "somestring",
"formatUuid": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"publishURL": "somestring",
"pubs": [
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
},
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
],
"status": "EMPTY",
"subs": [
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
},
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
],
"subscribeURL": "somestring",
"suspended": true
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/feeds/{id}``
----------------------
Summary
+++++++
return Feed details
Description
+++++++++++
.. raw:: html
Delete a `Feed` object, specified by id.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
id | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
successful operation
Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
**Example:**
.. code-block:: javascript
{
"asprClassification": "somestring",
"bytes": [
"somestring",
"somestring"
],
"feedDescription": "somestring",
"feedId": "somestring",
"feedName": "somestring",
"feedVersion": "somestring",
"formatUuid": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"publishURL": "somestring",
"pubs": [
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
},
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
],
"status": "EMPTY",
"subs": [
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
},
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
],
"subscribeURL": "somestring",
"suspended": true
}
**204**
^^^^^^^
Success
Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
**Example:**
.. code-block:: javascript
{
"asprClassification": "somestring",
"bytes": [
"somestring",
"somestring"
],
"feedDescription": "somestring",
"feedId": "somestring",
"feedName": "somestring",
"feedVersion": "somestring",
"formatUuid": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"publishURL": "somestring",
"pubs": [
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
},
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
],
"status": "EMPTY",
"subs": [
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
},
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
],
"subscribeURL": "somestring",
"suspended": true
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/feeds/{id}``
-------------------
Summary
+++++++
return Feed details
Description
+++++++++++
.. raw:: html
Retrieve a `Feed` object, specified by id.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
id | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/feeds``
--------------
Summary
+++++++
return Feed details
Description
+++++++++++
.. raw:: html
Returns array of `Feed` objects.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
feedName | query | No | string | | |
version | query | No | string | | |
match | query | No | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
**Example:**
.. code-block:: javascript
{
"asprClassification": "somestring",
"bytes": [
"somestring",
"somestring"
],
"feedDescription": "somestring",
"feedId": "somestring",
"feedName": "somestring",
"feedVersion": "somestring",
"formatUuid": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"publishURL": "somestring",
"pubs": [
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
},
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
],
"status": "EMPTY",
"subs": [
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
},
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
],
"subscribeURL": "somestring",
"suspended": true
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/feeds/{id}``
-------------------
Summary
+++++++
return Feed details
Description
+++++++++++
.. raw:: html
Update a `Feed` object, specified by id.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
id | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
**Example:**
.. code-block:: javascript
{
"asprClassification": "somestring",
"bytes": [
"somestring",
"somestring"
],
"feedDescription": "somestring",
"feedId": "somestring",
"feedName": "somestring",
"feedVersion": "somestring",
"formatUuid": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"publishURL": "somestring",
"pubs": [
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
},
{
"dcaeLocationName": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"pubId": "somestring",
"status": "EMPTY",
"username": "somestring",
"userpwd": "somestring"
}
],
"status": "EMPTY",
"subs": [
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
},
{
"bytes": [
"somestring",
"somestring"
],
"dcaeLocationName": "somestring",
"deliveryURL": "somestring",
"feedId": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"logURL": "somestring",
"owner": "somestring",
"status": "EMPTY",
"subId": "somestring",
"suspended": true,
"use100": true,
"username": "somestring",
"userpwd": "somestring"
}
],
"subscribeURL": "somestring",
"suspended": true
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
INFO
~~~~
Endpoint for this instance of DBCL. Returns health info.
GET ``/info``
-------------
Summary
+++++++
return info details
Description
+++++++++++
.. raw:: html
returns the `info` object
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
**Example:**
.. code-block:: javascript
{
"accessKeyOwner": "somestring",
"bridgeAdminTopic": "somestring",
"dmaapName": "somestring",
"drProvUrl": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"loggingUrl": "somestring",
"nodeKey": "somestring",
"status": "EMPTY",
"topicNsRoot": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
MR_CLIENTS
~~~~~~~~~~
Endpoint for a Message Router Client that implements a Publisher or a Subscriber
POST ``/mr_clients``
--------------------
Summary
+++++++
Associate an MR_Client object to a Topic
Description
+++++++++++
.. raw:: html
Create a `MR_Client` object.The `dcaeLocation` attribute is used to match an `MR_Cluster` object with the same value, with the intent of localizing message traffic. In legacy implementation, the `clientRole` is granted appropriate permission in AAF. Newer implementions may instead specify an AAF Identity, which will be added to the appropriate `Topic` role.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
**Example:**
.. code-block:: javascript
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/mr_clients/{subId}``
------------------------------
Summary
+++++++
Delete an MR_Client object
Description
+++++++++++
.. raw:: html
Delete a `MR_Client` object, specified by clientId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
subId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
successful operation
Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
**Example:**
.. code-block:: javascript
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
**204**
^^^^^^^
Success
Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
**Example:**
.. code-block:: javascript
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/mr_clients``
-------------------
Summary
+++++++
return MR_Client details
Description
+++++++++++
.. raw:: html
Returns array of `MR_Client` objects.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
**Example:**
.. code-block:: javascript
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/mr_clients/{subId}``
---------------------------
Summary
+++++++
return MR_Client details
Description
+++++++++++
.. raw:: html
Retrieve a `MR_Client` object, specified by clientId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
subId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
**Example:**
.. code-block:: javascript
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/mr_clients/{clientId}``
------------------------------
Summary
+++++++
Update an MR_Client object
Description
+++++++++++
.. raw:: html
Update a `MR_Client` object, specified by clientId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
clientId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
**Example:**
.. code-block:: javascript
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
MR_CLUSTERS
~~~~~~~~~~~
Endpoint for a Message Router servers in a Cluster configuration
POST ``/mr_clusters``
---------------------
Summary
+++++++
return MR_Cluster details
Description
+++++++++++
.. raw:: html
Create an `MR_Cluster` object.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"replicationGroup": "somestring",
"sourceReplicationPort": "somestring",
"status": "EMPTY",
"targetReplicationPort": "somestring",
"topicPort": "somestring",
"topicProtocol": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/mr_clusters/{clusterId}``
-----------------------------------
Summary
+++++++
return MR_Cluster details
Description
+++++++++++
.. raw:: html
Delete an `MR_Cluster` object, specified by clusterId.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
clusterId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
successful operation
Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"replicationGroup": "somestring",
"sourceReplicationPort": "somestring",
"status": "EMPTY",
"targetReplicationPort": "somestring",
"topicPort": "somestring",
"topicProtocol": "somestring"
}
**204**
^^^^^^^
Success
Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"replicationGroup": "somestring",
"sourceReplicationPort": "somestring",
"status": "EMPTY",
"targetReplicationPort": "somestring",
"topicPort": "somestring",
"topicProtocol": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/mr_clusters/{clusterId}``
--------------------------------
Summary
+++++++
return MR_Cluster details
Description
+++++++++++
.. raw:: html
Retrieve an `MR_Cluster` object, specified by clusterId.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
clusterId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"replicationGroup": "somestring",
"sourceReplicationPort": "somestring",
"status": "EMPTY",
"targetReplicationPort": "somestring",
"topicPort": "somestring",
"topicProtocol": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/mr_clusters``
--------------------
Summary
+++++++
return MR_Cluster details
Description
+++++++++++
.. raw:: html
Returns array of `MR_Cluster` objects.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"replicationGroup": "somestring",
"sourceReplicationPort": "somestring",
"status": "EMPTY",
"targetReplicationPort": "somestring",
"topicPort": "somestring",
"topicProtocol": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/mr_clusters/{clusterId}``
--------------------------------
Summary
+++++++
return MR_Cluster details
Description
+++++++++++
.. raw:: html
Update an `MR_Cluster` object, specified by clusterId.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
clusterId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
**Example:**
.. code-block:: javascript
{
"dcaeLocationName": "somestring",
"fqdn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"replicationGroup": "somestring",
"sourceReplicationPort": "somestring",
"status": "EMPTY",
"targetReplicationPort": "somestring",
"topicPort": "somestring",
"topicProtocol": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
TOPICS
~~~~~~
Endpoint for retreiving MR Topics
POST ``/topics``
----------------
Summary
+++++++
Create a Topic object
Description
+++++++++++
.. raw:: html
Create `Topic` object.For convenience, the message body may populate the `clients` array, in which case each entry will be added as an `MR_Client`. Beginning in ONAP Dublin Release, dbcapi will create two AAF Roles by default, one each for the publisher and subscriber per topic. MR_Clients can then specify an AAF Identity to be added to the appropriate default Role, avoiding the need to create Role(s) in advance.
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
useExisting | query | No | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
**Example:**
.. code-block:: javascript
{
"clients": [
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
},
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
],
"formatUuid": "somestring",
"fqtn": "somestring",
"fqtnStyle": "FQTN_NOT_SPECIFIED",
"globalMrURL": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"owner": "somestring",
"partitionCount": "somestring",
"publisherRole": "somestring",
"replicationCase": "REPLICATION_NOT_SPECIFIED",
"replicationCount": "somestring",
"status": "EMPTY",
"subscriberRole": "somestring",
"tnxEnabled": "somestring",
"topicDescription": "somestring",
"topicName": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
DELETE ``/topics/{topicId}``
----------------------------
Summary
+++++++
return Topic details
Description
+++++++++++
.. raw:: html
Delete a `Topic` object, identified by topicId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
topicId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
successful operation
Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
**Example:**
.. code-block:: javascript
{
"clients": [
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
},
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
],
"formatUuid": "somestring",
"fqtn": "somestring",
"fqtnStyle": "FQTN_NOT_SPECIFIED",
"globalMrURL": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"owner": "somestring",
"partitionCount": "somestring",
"publisherRole": "somestring",
"replicationCase": "REPLICATION_NOT_SPECIFIED",
"replicationCount": "somestring",
"status": "EMPTY",
"subscriberRole": "somestring",
"tnxEnabled": "somestring",
"topicDescription": "somestring",
"topicName": "somestring",
"version": "somestring"
}
**204**
^^^^^^^
Success
Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
**Example:**
.. code-block:: javascript
{
"clients": [
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
},
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
],
"formatUuid": "somestring",
"fqtn": "somestring",
"fqtnStyle": "FQTN_NOT_SPECIFIED",
"globalMrURL": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"owner": "somestring",
"partitionCount": "somestring",
"publisherRole": "somestring",
"replicationCase": "REPLICATION_NOT_SPECIFIED",
"replicationCount": "somestring",
"status": "EMPTY",
"subscriberRole": "somestring",
"tnxEnabled": "somestring",
"topicDescription": "somestring",
"topicName": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/topics/{topicId}``
-------------------------
Summary
+++++++
return Topic details
Description
+++++++++++
.. raw:: html
Retrieve a `Topic` object, identified by topicId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
topicId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
**Example:**
.. code-block:: javascript
{
"clients": [
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
},
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
],
"formatUuid": "somestring",
"fqtn": "somestring",
"fqtnStyle": "FQTN_NOT_SPECIFIED",
"globalMrURL": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"owner": "somestring",
"partitionCount": "somestring",
"publisherRole": "somestring",
"replicationCase": "REPLICATION_NOT_SPECIFIED",
"replicationCount": "somestring",
"status": "EMPTY",
"subscriberRole": "somestring",
"tnxEnabled": "somestring",
"topicDescription": "somestring",
"topicName": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
GET ``/topics``
---------------
Summary
+++++++
return Topic details
Description
+++++++++++
.. raw:: html
Returns array of `Topic` objects.
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
**Example:**
.. code-block:: javascript
{
"clients": [
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
},
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
],
"formatUuid": "somestring",
"fqtn": "somestring",
"fqtnStyle": "FQTN_NOT_SPECIFIED",
"globalMrURL": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"owner": "somestring",
"partitionCount": "somestring",
"publisherRole": "somestring",
"replicationCase": "REPLICATION_NOT_SPECIFIED",
"replicationCount": "somestring",
"status": "EMPTY",
"subscriberRole": "somestring",
"tnxEnabled": "somestring",
"topicDescription": "somestring",
"topicName": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
PUT ``/topics/{topicId}``
-------------------------
Summary
+++++++
return Topic details
Description
+++++++++++
.. raw:: html
Update a `Topic` object, identified by topicId
Parameters
++++++++++
.. csv-table::
:delim: |
:header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 15, 10, 10, 10, 20, 30
topicId | path | Yes | string | | |
Request
+++++++
Responses
+++++++++
**200**
^^^^^^^
Success
Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
**Example:**
.. code-block:: javascript
{
"clients": [
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
},
{
"action": [
"somestring",
"somestring"
],
"clientIdentity": "somestring",
"clientRole": "somestring",
"dcaeLocationName": "somestring",
"fqtn": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"mrClientId": "somestring",
"status": "EMPTY",
"topicURL": "somestring"
}
],
"formatUuid": "somestring",
"fqtn": "somestring",
"fqtnStyle": "FQTN_NOT_SPECIFIED",
"globalMrURL": "somestring",
"lastMod": "2015-01-01T15:00:00.000Z",
"owner": "somestring",
"partitionCount": "somestring",
"publisherRole": "somestring",
"replicationCase": "REPLICATION_NOT_SPECIFIED",
"replicationCount": "somestring",
"status": "EMPTY",
"subscriberRole": "somestring",
"tnxEnabled": "somestring",
"topicDescription": "somestring",
"topicName": "somestring",
"version": "somestring"
}
**400**
^^^^^^^
Error
Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
**Example:**
.. code-block:: javascript
{
"code": 1,
"fields": "somestring",
"is2xx": true,
"message": "somestring"
}
Data Structures
~~~~~~~~~~~~~~~
.. _d_a3a7580ce9d87225d7f62e6b67b4d036:
ApiError Model Structure
------------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
code | No | integer | int32 | |
fields | No | string | | |
is2xx | No | boolean | | |
message | No | string | | |
.. _d_d71baea9d8e4e59bc395ef51f45dff1b:
BrTopic Model Structure
-----------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
brSource | No | string | | |
brTarget | No | string | | |
mmAgentName | No | string | | |
topicCount | No | integer | int32 | |
.. _d_d15e2cee407536866c875375e3f705e0:
DR_Node Model Structure
-----------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
dcaeLocationName | No | string | | |
fqdn | No | string | | |
hostName | No | string | | |
lastMod | No | string | date-time | | datestamp for last update to this object
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
version | No | string | | |
.. _d_e926d3fa8701e0cc9c8ed1761b3255cd:
DR_Pub Model Structure
----------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
dcaeLocationName | No | string | | |
feedId | No | string | | |
lastMod | No | string | date-time | | datestamp for last update to this object
pubId | No | string | | |
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
username | No | string | | |
userpwd | No | string | | |
.. _d_48cf328d246f41e1d11a09251b042f02:
DR_Sub Model Structure
----------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
bytes | No | array of string | | |
dcaeLocationName | No | string | | |
deliveryURL | No | string | | |
feedId | No | string | | |
lastMod | No | string | date-time | | datestamp for last update to this object
logURL | No | string | | |
owner | No | string | | |
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
subId | No | string | | |
suspended | No | boolean | | |
use100 | No | boolean | | |
username | No | string | | |
userpwd | No | string | | |
.. _d_47d80e451933beb623fcf5257867cbcb:
DcaeLocation Model Structure
----------------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
central | No | boolean | | |
clli | No | string | | |
dcaeLayer | No | string | | |
dcaeLocationName | No | string | | |
lastMod | No | string | date-time | | datestamp for last update to this object
local | No | boolean | | |
openStackAvailabilityZone | No | string | | |
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
subnet | No | string | | |
.. _d_4ea0e7758a1f8502222793e4a13b04f7:
Dmaap Model Structure
---------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
accessKeyOwner | No | string | | |
bridgeAdminTopic | No | string | | |
dmaapName | No | string | | |
drProvUrl | No | string | | |
lastMod | No | string | date-time | | datestamp for last update to this object
loggingUrl | No | string | | |
nodeKey | No | string | | |
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
topicNsRoot | No | string | | |
version | No | string | | |
.. _d_289ad39619725df26c9ff382d4c97c75:
Feed Model Structure
--------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
asprClassification | No | string | | |
bytes | No | array of string | | |
feedDescription | No | string | | |
feedId | No | string | | |
feedName | No | string | | |
feedVersion | No | string | | |
formatUuid | No | string | | |
lastMod | No | string | date-time | | datestamp for last update to this object
logURL | No | string | | |
owner | No | string | | |
publishURL | No | string | | |
pubs | No | array of :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>` | | |
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
subs | No | array of :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>` | | |
subscribeURL | No | string | | |
suspended | No | boolean | | |
.. _d_56ff81dc98986e27074d9be2731e3f4c:
MR_Client Model Structure
-------------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
action | No | array of string | | | one or more actions from the set ('pub', 'sub', 'view') for which this client needs Permission
clientIdentity | No | string | | | an AAF identity to be associated to an appropriate topic Role
clientRole | No | string | | | an AAF Role to be granted an appropriate Permission. If specified, takes precedence over clientIdentity, for backwards compatibility.
dcaeLocationName | No | string | | | a tag indicating a logical deployment site
fqtn | No | string | | | Fully Qualified Topic Name constructed by dbcapi
lastMod | No | string | date-time | | datestamp for last update to this object
mrClientId | No | string | | | a unique identifier generated by dbcapi for this client
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
topicURL | No | string | | | the URL for a MR instance - typically in the same dcaeLocation - that this client should use to access the topic
.. _d_eec7176a0080debe1b19c2dad2e97c24:
MR_Cluster Model Structure
--------------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
dcaeLocationName | No | string | | |
fqdn | No | string | | |
lastMod | No | string | date-time | |
replicationGroup | No | string | | |
sourceReplicationPort | No | string | | |
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
targetReplicationPort | No | string | | |
topicPort | No | string | | |
topicProtocol | No | string | | |
.. _d_08fb211d40d6deb9b6e04b000fd988e4:
MirrorMaker Model Structure
---------------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
lastMod | No | string | date-time | | datestamp for last update to this object
mmName | No | string | | |
sourceCluster | No | string | | |
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
targetCluster | No | string | | |
topicCount | No | integer | int32 | |
topics | No | array of string | | |
whitelistUpdateJSON | No | string | | |
.. _d_2e99841971da81b9d240071b86bf168d:
Topic Model Structure
---------------------
.. csv-table::
:delim: |
:header: "Name", "Required", "Type", "Format", "Properties", "Description"
:widths: 20, 10, 15, 15, 30, 25
clients | No | array of :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>` | | | an array of `MR_Client` objects associated to this `Topic`
formatUuid | No | string | | | a reference to an identifier that describes a data format used for this `Topic`
fqtn | No | string | | | Fully Qualified Topic Name constructed by dbcapi, following the rules for `fqtnStyle`
fqtnStyle | No | string | | {'enum': ['FQTN_NOT_SPECIFIED', 'FQTN_LEGACY_FORMAT', 'FQTN_PROJECTID_FORMAT', 'FQTN_PROJECTID_VERSION_FORMAT']} | the construction rule for the `fqtn` field
globalMrURL | No | string | | | the URL of an outside MR instance
lastMod | No | string | date-time | | datestamp for last update to this object
owner | No | string | | | a label used to identify who requested this `Topic` to be provisioned. In the future this may be an AAF Identity.
partitionCount | No | string | | | the kafka attribute for specifying the number of partitions
publisherRole | No | string | | | a value generated by dbcapi, this AAF Role has permission to publish to this `Topic`
replicationCase | No | string | | {'enum': ['REPLICATION_NOT_SPECIFIED', 'REPLICATION_NONE', 'REPLICATION_EDGE_TO_CENTRAL', 'REPLICATION_EDGE_TO_CENTRAL_TO_GLOBAL', 'REPLICATION_CENTRAL_TO_EDGE', 'REPLICATION_CENTRAL_TO_GLOBAL', 'REPLICATION_GLOBAL_TO_CENTRAL', 'REPLICATION_GLOBAL_TO_CENTRAL_TO_EDGE', 'REPLICATION_EDGE_TO_FQDN', 'REPLICATION_FQDN_TO_EDGE', 'REPLICATION_FQDN_TO_GLOBAL', 'REPLICATION_GLOBAL_TO_FQDN', 'REPLICATION_EDGE_TO_FQDN_TO_GLOBAL', 'REPLICATION_GLOBAL_TO_FQDN_TO_EDGE']} | An indicator for how this `Topic` should be replicated when there are more than one `MR_Cluster` instances
replicationCount | No | string | | | the kafka attribute for specifying replication within an `MR_Cluster` instance
status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} |
subscriberRole | No | string | | | a value generated by dbcapi, this AAF Role has permission to subscribe to this `Topic`
tnxEnabled | No | string | | |
topicDescription | No | string | | | a description of what this Topic is used for
topicName | No | string | | | the short name used by humans, and utilized to construct the `FQTN`
version | No | string | | | a hook for any versioning needed for managing a `Topic` over time
Security
~~~~~~~~
As default security is in Dmaap Bus Controller disabled.
Enable
------
Settings to turn on security is in file dmaapbc.properties. The file is located in OOM project in path: ./oom/kubernetes/dmaap/components/dmaap-bc/resources/config/dmaapbc.properties
During deployment the the file is placed into ConfigMap XXX-dmaap-bus-controller-config (XXX depend on deployment setup). The config map is linked to volume with read only permission so it can not be changed from pod level.
Ater updating ConfigMap the bus controller pod needs to be restarted.
Settings
++++++++
In the dmaapbc.properties for security settings there is a main flag:
1.UseAAF: true
If set to true then creating topic also will create required perms in AAF. The perms will be created in org.onap.dmaap.mr.
The last element -mr- is related to another setting - MR.projectID .
Example:
Topic name:
aSimpleTopic
Permitions
org.onap.dmaap.mr.topic|:topic.org.onap.dmaap.mr.aSimpleTopic|pub
org.onap.dmaap.mr.topic|:topic.org.onap.dmaap.mr.aSimpleTopic|sub
org.onap.dmaap.mr.topic|:topic.org.onap.dmaap.mr.aSimpleTopic|view
Hint: User defined in the certificate of cadi (property:cadi.properties, user:dmaap-bc@dmaap-bc.onap.org) needs to have permissions to create and view such topics (org.onap.dmaap.mr.topic|*|*).
Authentication is using CADI
CADI confilguration is stored in CADI files. Location of the files is defined in varaible:
cadi.properties: /opt/app/osaaf/local/org.onap.dmaap-bc.props
The configuration is a mandatory and missing parameter or file cause exception.
Authorization is done by CADI - configuration is required as above
Call to bus controller needs to have given user credentials. The user ich checked in AAF for permission to call topic.
The check is done in org.onap.dmaap-bc.api according to ApiNamespace setting.
Hint: User defined in the certificate of cadi (property:cadi.properties, user:dmaap-bc@dmaap-bc.onap.org) needs to have permission to read the namespace (org.onap.dmaap-bc.api.access|*|read).
2.UseAAF: false
For backward compatibility, if AAF flag is turned off the previous implementation is enabled based on AuthorizationFilter and ApiPermission class.
This filter switching has been made due to the technology differences: Jersey filters do not implement directly servlet API, but CADI filter is based on it.