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 `_ 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 ` **Example:** .. code-block:: javascript { "brSource": "somestring", "brTarget": "somestring", "mmAgentName": "somestring", "topicCount": 1 } **400** ^^^^^^^ Error Type: :ref:`ApiError ` **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 ` **Example:** .. code-block:: javascript { "brSource": "somestring", "brTarget": "somestring", "mmAgentName": "somestring", "topicCount": 1 } **400** ^^^^^^^ Error Type: :ref:`ApiError ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` **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 ` | | | status | No | string | | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | subs | No | array of :ref:`DR_Sub ` | | | 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 ` | | | 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