summaryrefslogtreecommitdiffstats
path: root/docs/sections/components/component-specification
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sections/components/component-specification')
-rwxr-xr-xdocs/sections/components/component-specification/cdap-specification.rst208
-rwxr-xr-xdocs/sections/components/component-specification/common-specification.rst1442
-rw-r--r--docs/sections/components/component-specification/component-specification.rst16
-rwxr-xr-xdocs/sections/components/component-specification/configuration-grid.rst121
-rwxr-xr-xdocs/sections/components/component-specification/dmaap-connection-objects.rst276
-rwxr-xr-xdocs/sections/components/component-specification/docker-specification.rst351
-rwxr-xr-xdocs/sections/components/component-specification/streams-grid.rst149
7 files changed, 0 insertions, 2563 deletions
diff --git a/docs/sections/components/component-specification/cdap-specification.rst b/docs/sections/components/component-specification/cdap-specification.rst
deleted file mode 100755
index 2b26442a..00000000
--- a/docs/sections/components/component-specification/cdap-specification.rst
+++ /dev/null
@@ -1,208 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _cdap-specification:
-
-Component specification (CDAP)
-==============================
-
-The CDAP component specification contains the following groups of
-information. Many of these are common to both CDAP and Docker components
-and are therefore described in the common specification.
-
-- :any:`Metadata <metadata>`
-- :any:`Interfaces <interfaces>` including the
- associated :any:`Data Formats <data-formats>`
-- :any:`Parameters <parameters>` - for specifying parameters in your
- AppConfig, AppPreferences, and ProgramPreferences to the Designer and
- Policy. This of course is CDAP-specific and is described below.
-- :any:`Auxiliary Details <auxiliary-details>`
-- :any:`List of artifacts <artifacts>`
-
-Current Limitations and TODOs
------------------------------
-
-- The integration of DMD is likely to significantly change the
- :any:`Interfaces <interfaces>` section in this specification.
-
-.. _parameters:
-
-Parameters
-----------
-
-There is a ``parameters`` section in your component specification. This
-section contains three optional keys: `app_config <#appconfig>`__,
-`app_preferences <#apppreferences>`__, and
-`program_preferences <#programpreferences>`__:
-
-::
-
- "parameters" : {
- "app_config" : [ ...],
- "app_preferences" : [ ...],
- "program_preferences" : [...]
- // any additional keys are ignored
- }
-
-- Each section details the parameters that are a part of each of these
- CDAP constructs (see below).
-- All such parameters will be exposed to the designer and to policy for
- override.
-- These parameters should have default values specified by the
- component developer where necessary, i.e., parameters that *must*
- come from the designer/policy should not have defaults.
-- All of these keys are optional because not every CDAP application
- uses preferences and not every application uses the AppConfig.
- However, you should specify at least one, or else your application
- will have no parameters exposed to policy or to the DCAE designer,
- which means it would be non-configurable.
-- Despite the AppConfig being optional to *specify* in the case that
- you have no parameters in your AppConfig, it is *required for
- processing* in your application. That is because the DCAE platform
- will place important information into your AppConfig as discussed
- below.
-
-Parameter
-~~~~~~~~~
-
-The following CDAP specific definitions use ``param1`` to refer to the
-common parameter layout in
-:any:`Parameter <parameters>`
-
-AppConfig
-~~~~~~~~~
-
-The ``app_config`` key refers to the `CDAP AppConfig <http://docs.cask.co/cdap/current/en/reference-manual/http-restful-api/configuration.html>`_.
-It is expected to be a JSON:
-
-::
-
- "app_config" : [ // list of JSON
- param1, // common parameter layout
- ...
- ]
-
-Unfortunately, at the time of writing, the AppConfig is a Java map of
-``string:string``, which means you cannot have more complex structures
-(than string) as any value in your AppConfig. However, there is a way to
-bypass this constraint: you can pass a JSON by encoding the JSON as a
-string. E.g., the ``json.dumps()`` and it’s converse ``loads`` methods
-in Python:
-
-::
-
- >>> import json
- >>> json.dumps({"foo" : "bar"}) # This is a real JSON
- '{"foo": "bar"}' # It is now a string: pass this in as your parameter value
- >>> json.loads('{"foo": "bar"}') # Do the equivelent of this in your application
- {u'foo': u'bar'} # ...and you'll get back a real JSON
- >>>
-
-The final AppConfig (after the designer and policy override parameter
-values) is passed into CDAP’s AppConfig API when starting the
-application.
-
-
-AppPreferences
-~~~~~~~~~~~~~~
-
-In addition to the CDAP AppConfig, the platform supports `Application Preferences <http://docs.cask.co/cdap/current/en/reference-manual/http-restful-api/preferences.html#set-preferences>`_.
-The format of the ``app_preferences`` value is the same as the above:
-
-::
-
- "app_preferences" : [ // list of JSON
- param1, // common parameter layout
- ...
- ]
-
-The final Application Preferences JSON (after the designer and policy
-override parameter values) is passed into CDAP’s Preferences API when
-starting your application.
-
-
-ProgramPreferences
-~~~~~~~~~~~~~~~~~~
-
-Preferences can also be specified `per program <http://docs.cask.co/cdap/current/en/reference-manual/http-restful-api/lifecycle.html#program-lifecycle>`_
-in CDAP. This key’s value is a list of JSON with the following format:
-
-::
-
- "program_preferences" : [ // note: this is a list of JSON
- {
- "program_id" : "program name 1", // the name of this CDAP program
- "program_type" : "e.g., flows", // "must be one of flows, mapreduce, schedules, spark, workflows, workers, or services",
- "program_pref" : [ // list of JSON
- param1, // common parameter layout
- ...
- ]
- },
- // repeat for each program that receives a program_preferences JSON
- ]
-
-Each ``program_pref`` JSON is passed into the CDAP API as the preference
-for ``program_id``.
-
-NOTE: for CDAP, this section is very likely to change when DMD is
-available. The *future* vision is
-that you would publish your data as a series of files on HDFS, and DMD
-will pick them up and send them to the appropriate DMaaP feeds or
-directly when needed.
-
-.. _auxiliary-details:
-
-Auxiliary Details
------------------
-
-*auxiliary* contains details about CDAP specific parameters.
-
-+----------------------+----------------------+----------------------+
-| Property Name | Type | Description |
-+======================+======================+======================+
-| streamname | string | *Required*. |
-+----------------------+----------------------+----------------------+
-| artifact_name | string | |
-+----------------------+----------------------+----------------------+
-| artifact_version | string | the version of your |
-| | | CDAP JAR artifact |
-+----------------------+----------------------+----------------------+
-| namespace | string | the CDAP namespace |
-| | | to deploy into, |
-| | | default is ‘default’ |
-+----------------------+----------------------+----------------------+
-| programs | array | contains each CDAP |
-| | | entity represented |
-| | | in the artifact |
-+----------------------+----------------------+----------------------+
-| program_type | string | CDAP entity (eg |
-| | | “flows”) |
-+----------------------+----------------------+----------------------+
-| program_id | string | name of CDAP entity |
-| | | (eg “WhoFlow”) |
-+----------------------+----------------------+----------------------+
-
-Example:
-
-.. code:: json
-
- "auxiliary": {
- "streamname" : "who",
- "artifact_name" : "HelloWorld",
- "artifact_version" : "3.4.3",
- "namespace" : "hw",
- "programs" : [
- {"program_type" : "flows", "program_id" : "WhoFlow"},
- {"program_type" : "services", "program_id" : "Greeting"},
- ...
- ],
- }
-
-The ``programs`` key is identical to the ``program_preferences`` key
-discussed `above <#programpreferences>`__ except:
-
-- each JSON in the list does not contain ``program_pref``
-- this is required! You must include all of your programs in this, as
- it is used to start each program as well as for DCAE to perform
- periodic healthchecks on your application. Don’t forget about your
- services; they are programs too.
diff --git a/docs/sections/components/component-specification/common-specification.rst b/docs/sections/components/component-specification/common-specification.rst
deleted file mode 100755
index ae846bd0..00000000
--- a/docs/sections/components/component-specification/common-specification.rst
+++ /dev/null
@@ -1,1442 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _common-specification:
-
-Common Elements of the Component Specification
-==============================================
-
-This page describes the component specification (JSON) sections that are
-common to both Docker and CDAP components. Differences for each are
-pointed out below. Elements that are very different, and described in
-the CDAP or Docker specific pages.
-
-.. _metaschema:
-
-Meta Schema Definition
-----------------------
-
-The component specification is represented (and validated) against this
-`Component Spec json
-schema <https://gerrit.onap.org/r/gitweb?p=dcaegen2/platform/cli.git;a=blob;f=component-json-schemas/component-specification/dcae-cli-v1/component-spec-schema.json;h=27d0403af67eac00e03ab89437d5f07aa06fbee3;hb=HEAD>`__
-and described below:
-
-The “Meta Schema” implementation defines how component specification
-JSON schemas can be written to define user input. It is itself a JSON
-schema (thus it is a “meta schema”). It requires the name of the
-component entry, component type (either ‘cdap’ or ‘docker’) and a
-description under “self” object. The meta schema version must be
-specified as the value of the “version” key. Then the input schema
-itself is described.
-
-There are four types of schema descriptions objects - jsonschema for
-inline standard JSON Schema definitions of JSON inputs, delimitedschema
-for delimited data input using a JSON description defined by AT&T,
-unstructured for unstructured text, and reference that allows a pointer
-to another artifact for a schema. The reference allows for XML and Protocol Buffer schema,
-but can be used as a pointer to JSON, Delimited Format, and Unstructured
-schemas as well.
-
-.. _metadata:
-
-Component Metadata
-------------------
-
-Metadata refers to the properties found under the ``self`` JSON. This
-group of properties is used to uniquely identify this component
-specification and identify the component that this specification is used
-to capture.
-
-Example:
-
-::
-
- "self": {
- "version": "1.0.0",
- "name": "yourapp.component.kpi_anomaly",
- "description": "Classifies VNF KPI data as anomalous",
- "component_type": "docker"
- },
-
-``self`` Schema:
-
-+-------------+--------+----------------+
-| Property | Type | Description |
-| Name | | |
-+=============+========+================+
-| version | string | *Required*. |
-| | | Semantic |
-| | | version |
-| | | for this |
-| | | specification |
-+-------------+--------+----------------+
-| name | string | *Required*. |
-| | | Full |
-| | | name of |
-| | | this |
-| | | component |
-| | | which is |
-| | | also |
-| | | used as |
-| | | this |
-| | | component's |
-| | | catalog |
-| | | id. |
-+-------------+--------+----------------+
-| description | string | *Required* |
-| | | Human-readable |
-| | | text |
-| | | describing |
-| | | the |
-| | | component |
-| | | and the |
-| | | components |
-| | | functional |
-| | | purpose. |
-+-------------+--------+----------------+
-| component_t\| string | *Required* |
-| ype | | Identify |
-| | | what |
-| | | containe\ |
-| | | rization |
-| | | technolo\ |
-| | | gy |
-| | | this |
-| | | componen\ |
-| | | t |
-| | | uses: |
-| | | *docker* |
-| | | or |
-| | | *cdap*. |
-| | | |
-+-------------+--------+----------------+
-
-.. _interfaces:
-
-Interfaces
-----------
-
-Interfaces are the JSON objects found under the ``streams`` key and the
-``services`` key. These are used to describe the interfaces that the
-component uses and the interfaces that the component provides. The
-description of each interface includes the associated :any:`data
-format <data-formats>`.
-
-Streams
-~~~~~~~
-
-- The ``streams`` JSON is for specifying data produced for consumption
- by other components, and the streams expected to subscribe to that is
- produced by other components. These are “fire and forget” type
- interfaces where the publisher of a stream does not expect or parse a
- response from the subscriber.
-- The term ``stream`` here is abstract and neither refers to “CDAP
- streams” or “DMaaP feeds”. While a stream is very likely a DMaaP
- feed, it could be a direct stream of data being routed via HTTP too.
- It abstractly refers to a sequence of data leaving a publisher.
-- Streams have anonymous publish/subscribe semantics, which decouples
- the production of information from its consumption. Like the component
- specification, the data format specification is represented/validated against this
- `Data Format json schema <https://gerrit.onap.org/r/gitweb?p=dcaegen2/platform/cli.git;a=blob;f=component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json;h=be1568291300305c7adb9a8d244d39f9e6ddadbd;hb=HEAD>`__
-- In general, components are not aware of who they are communicating
- with.
-- Instead, components that are interested in data, subscribe to the
- relevant stream; components that generate data publish to the
- relevant stream.
-- There can be multiple publishers and subscribers to a stream. Streams
- are intended for unidirectional, streaming communication.
-
-Streams interfaces that implement an HTTP endpoint must support POST.
-
-Streams are split into:
-
-+-------------+----+----------+
-| Property | Ty\| Descript\|
-| Name | pe | ion |
-+=============+====+==========+
-| subscribes | JS\| *Require\|
-| | ON | d*. |
-| | li\| List of |
-| | st | all |
-| | | availabl\|
-| | | e |
-| | | stream |
-| | | interfac\|
-| | | es |
-| | | that |
-| | | this |
-| | | componen\|
-| | | t |
-| | | has that |
-| | | can be |
-| | | used for |
-| | | subscrib\|
-| | | ing |
-+-------------+----+----------+
-| publishes | JS\| *Require\|
-| | ON | d*. |
-| | li\| List of |
-| | st | all |
-| | | stream |
-| | | interfac\|
-| | | es |
-| | | that |
-| | | this |
-| | | componen\|
-| | | t |
-| | | will |
-| | | publish |
-| | | onto |
-+-------------+----+----------+
-
-Subscribes
-^^^^^^^^^^
-
-Example:
-
-.. code:: json
-
- "streams": {
- "subscribes": [{
- "format": "dcae.vnf.kpi",
- "version": "1.0.0",
- "route": "/data", // for CDAP this value is not used
- "type": "http"
- }],
- ...
- }
-
-This describes that ``yourapp.component.kpi_anomaly`` exposes an HTTP
-endpoint called ``/data`` which accepts requests that have the data
-format of ``dcae.vnf.kpi`` version ``1.0.0``.
-
-``subscribes`` Schema:
-
-+-------------+----+--------------------+
-| Property | Ty\| Descript\ |
-| Name | pe | ion |
-+=============+====+====================+
-| format | st\| *Require\ |
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | id of |
-| | | the data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\ |
-| | | e |
-+-------------+----+--------------------+
-| version | st\| *Require\ |
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | version |
-| | | of the |
-| | | data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\ |
-| | | e |
-+-------------+----+--------------------+
-| route | st\| *Require\ |
-| | ri\| d |
-| | ng | for HTTP |
-| | | and data |
-| | | router*. |
-| | | The HTTP |
-| | | route |
-| | | that |
-| | | this |
-| | | interfac\ |
-| | | e |
-| | | listens |
-| | | on |
-+-------------+----+--------------------+
-| config_key | st\| *Require\ |
-| | ri\| d \ |
-| | ng | for \ |
-| | | message_router\ |
-| | | and data \ |
-| | | router*. |
-| | | The HTTP |
-| | | route |
-| | | that |
-| | | this |
-| | | interfac\ |
-| | | e |
-| | | listens |
-| | | on |
-+-------------+----+--------------------+
-| type | st\| *Require\ |
-| | ri\| d*. |
-| | ng | Type of |
-| | | stream: |
-| | | ``http`` |
-| | | , |
-| | | ``message_router`` |
-| | | , |
-| | | ``data_router`` |
-+-------------+----+--------------------+
-
-.. _message-router:
-
-Message router
-''''''''''''''
-
-Message router subscribers are http clients rather than http services
-and performs a http a ``GET`` call. Thus, message router subscribers
-description is structured like message router publishers and requires
-``config_key``:
-
-.. code:: json
-
- "streams": {
- "subscribes": [{
- "format": "dcae.some-format",
- "version": "1.0.0",
- "config_key": "some_format_handle",
- "type": "message router"
- }],
- ...
- }
-
-
-.. _data-router:
-
-Data router
-'''''''''''
-
-Data router subscribers are http or https services that handle ``PUT``
-requests from data router. Developers must provide the ``route`` or url
-path/endpoint that is expected to handle data router requests. This will
-be used to construct the delivery url needed to register the subscriber
-to the provisioned feed. Developers must also provide a ``config_key``
-because there is dynamic configuration information associated with the
-feed that the application will need e.g. username and password. See the
-page on :any:`DMaaP connection objects <dmaap-data-router>` for more details on
-the configuration information.
-
-Example (not tied to the larger example):
-
-.. code:: json
-
- "streams": {
- "subscribes": [{
- "config_key": "some-sub-dr",
- "format": "sandbox.platform.any",
- "route": "/identity",
- "type": "data_router",
- "version": "0.1.0"
- }],
- ...
- }
-
-Publishes
-^^^^^^^^^
-
-Example:
-
-.. code:: json
-
- "streams": {
- ...
- "publishes": [{
- "format": "yourapp.format.integerClassification",
- "version": "1.0.0",
- "config_key": "prediction",
- "type": "http"
- }]
- },
-
-This describes that ``yourapp.component.kpi_anomaly`` publishes by making
-POST requests to streams that support the data format
-``yourapp.format.integerClassification`` version ``1.0.0``.
-
-``publishes`` Schema:
-
-+-------------+----+--------------------+
-| Property | Ty\| Descript\ |
-| Name | pe | ion |
-+=============+====+====================+
-| format | st\| *Require\ |
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | id of |
-| | | the data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\ |
-| | | e |
-+-------------+----+--------------------+
-| version | st\| *Require\ |
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | version |
-| | | of the |
-| | | data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\ |
-| | | e |
-+-------------+----+--------------------+
-| config_key | st\| *Require\ |
-| | ri\| d*. |
-| | ng | The JSON |
-| | | key in |
-| | | the |
-| | | generate\ |
-| | | d |
-| | | applicat |
-| | | ion |
-| | | configur\ |
-| | | ation |
-| | | that |
-| | | will be |
-| | | used to |
-| | | pass the |
-| | | downstre\ |
-| | | am |
-| | | componen\ |
-| | | t’s |
-| | | (the |
-| | | subscrib\ |
-| | | er’s) |
-| | | connecti\ |
-| | | on |
-| | | informat\ |
-| | | ion. |
-+-------------+----+--------------------+
-| type | st\| *Require\ |
-| | ri\| d*. |
-| | ng | Type of |
-| | | stream: |
-| | | ``http`` |
-| | | , |
-| | | ``message_router`` |
-| | | , |
-| | | ``data_router`` |
-+-------------+----+--------------------+
-
-.. message-router-1:
-
-Message router
-''''''''''''''
-
-Message router publishers are http clients of DMaap message_router.
-Developers must provide a ``config_key`` because there is dynamic
-configuration information associated with the feed that the application
-needs to receive e.g. topic url, username, password. See the page on
-:any:`DMaaP connection objects <dmaap-message-router>` for more details on
-the configuration information.
-
-Example (not tied to the larger example):
-
-.. code:: json
-
- "streams": {
- ...
- "publishes": [{
- "config_key": "some-pub-mr",
- "format": "sandbox.platform.any",
- "type": "message_router",
- "version": "0.1.0"
- }]
- }
-
-.. data-router-1:
-
-Data router
-'''''''''''
-
-Data router publishers are http clients that make ``PUT`` requests to
-data router. Developers must also provide a ``config_key`` because there
-is dynamic configuration information associated with the feed that the
-application will need to receive e.g. publish url, username, password.
-See the page on :any:`DMaaP connection objects <dmaap-data-router>` for more details on
-the configuration information.
-
-Example (not tied to the larger example):
-
-.. code:: json
-
- "streams": {
- ...
- "publishes": [{
- "config_key": "some-pub-dr",
- "format": "sandbox.platform.any",
- "type": "data_router",
- "version": "0.1.0"
- }]
- }
-
-Quick Reference
-^^^^^^^^^^^^^^^
-
-Refer to this :doc:`Quick Reference <streams-grid>` for a
-comparison of the Streams ‘Publishes’ and ‘Subscribes’ sections.
-
-Services
-~~~~~~~~
-
-- The publish / subscribe model is a very flexible communication
- paradigm, but its many-to-many one-way transport is not appropriate
- for RPC request / reply interactions, which are often required in a
- distributed system.
-- Request / reply is done via a Service, which is defined by a pair of
- messages: one for the request and one for the reply.
-
-Services are split into:
-
-+-------------+----+----------+
-| Property | Ty\| Descript\|
-| Name | pe | ion |
-+=============+====+==========+
-| calls | JS\| *Require\|
-| | ON | d*. |
-| | li\| List of |
-| | st | all |
-| | | service |
-| | | interfac\|
-| | | es |
-| | | that |
-| | | this |
-| | | componen\|
-| | | t |
-| | | will |
-| | | call |
-+-------------+----+----------+
-| provides | JS\| *Require\|
-| | ON | d*. |
-| | li\| List of |
-| | st | all |
-| | | service |
-| | | interfac\|
-| | | es |
-| | | that |
-| | | this |
-| | | componen\|
-| | | t |
-| | | exposes |
-| | | and |
-| | | provides |
-+-------------+----+----------+
-
-Calls
-^^^^^
-
-The JSON ``services/calls`` is for specifying that the component relies
-on an HTTP(S) service—the component sends that service an HTTP request,
-and that service responds with an HTTP reply. An example of this is how
-string matching (SM) depends on the AAI Broker. SM performs a
-synchronous REST call to the AAI broker, providing it the VMNAME of the
-VNF, and the AAI Broker responds with additional details about the VNF.
-This dependency is expressed via ``services/calls``. In contrast, the
-output of string matching (the alerts it computes) is sent directly to
-policy as a fire-and-forget interface, so that is an example of a
-``stream``.
-
-Example:
-
-.. code:: json
-
- "services": {
- "calls": [{
- "config_key": "vnf-db",
- "request": {
- "format": "dcae.vnf.meta",
- "version": "1.0.0"
- },
- "response": {
- "format": "dcae.vnf.kpi",
- "version": "1.0.0"
- }
- }],
- ...
- }
-
-This describes that ``yourapp.component.kpi_anomaly`` will make HTTP
-calls to a downstream component that accepts requests of data format
-``dcae.vnf.meta`` version ``1.0.0`` and is expecting the response to be
-``dcae.vnf.kpi`` version ``1.0.0``.
-
-``calls`` Schema:
-
-+-------------+----+----------+
-| Property | Ty\| Descript\|
-| Name | pe | ion |
-+=============+====+==========+
-| request | JS\| *Require\|
-| | ON | d*. |
-| | ob\| Descript\|
-| | je\| ion |
-| | ct | of the |
-| | | expected |
-| | | request |
-| | | for this |
-| | | downstre\|
-| | | am |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-| response | JS\| *Require\|
-| | ON | d*. |
-| | ob\| Descript\|
-| | je\| ion |
-| | ct | of the |
-| | | expected |
-| | | response |
-| | | for this |
-| | | downstre\|
-| | | am |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-| config_key | st\| *Require\|
-| | ri\| d*. |
-| | ng | The JSON |
-| | | key in |
-| | | the |
-| | | generate\|
-| | | d |
-| | | applicat |
-| | | ion |
-| | | configur\|
-| | | ation |
-| | | that |
-| | | will be |
-| | | used to |
-| | | pass the |
-| | | downstre\|
-| | | am |
-| | | componen |
-| | | t |
-| | | connecti\|
-| | | on |
-| | | informat\|
-| | | ion. |
-+-------------+----+----------+
-
-The JSON object schema for both ``request`` and ``response``:
-
-+-------------+----+----------+
-| Property | Ty\| Descript\|
-| Name | pe | ion |
-+=============+====+==========+
-| format | st\| *Require\|
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | id of |
-| | | the data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-| version | st\| *Require\|
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | version |
-| | | of the |
-| | | data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-
-Provides
-^^^^^^^^
-
-Example:
-
-.. code:: json
-
- "services": {
- ...
- "provides": [{
- "route": "/score-vnf",
- "request": {
- "format": "dcae.vnf.meta",
- "version": "1.0.0"
- },
- "response": {
- "format": "yourapp.format.integerClassification",
- "version": "1.0.0"
- }
- }]
- },
-
-This describes that ``yourapp.component.kpi_anomaly`` provides a service
-interface and it is exposed on the ``/score-vnf`` HTTP endpoint. The
-endpoint accepts requests that have the data format ``dcae.vnf.meta``
-version ``1.0.0`` and gives back a response of
-``yourapp.format.integerClassification`` version ``1.0.0``.
-
-``provides`` Schema for a Docker component:
-
-+-------------+----+----------+
-| Property | Ty\| Descript\|
-| Name | pe | ion |
-+=============+====+==========+
-| request | JS\| *Require\|
-| | ON | d*. |
-| | ob\| Descript\|
-| | je\| ion |
-| | ct | of the |
-| | | expected |
-| | | request |
-| | | for this |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-| response | JS\| *Require\|
-| | ON | d*. |
-| | ob\| Descript\|
-| | je\| ion |
-| | ct | of the |
-| | | expected |
-| | | response |
-| | | for this |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-| route | st\| *Require\|
-| | ri\| d*. |
-| | ng | The HTTP |
-| | | route |
-| | | that |
-| | | this |
-| | | interfac\|
-| | | e |
-| | | listens |
-| | | on |
-+-------------+----+----------+
-
-The JSON object schema for both ``request`` and ``response``:
-
-+-------------+----+----------+
-| Property | Ty\| Descript\|
-| Name | pe | ion |
-+=============+====+==========+
-| format | st\| *Require\|
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | id of |
-| | | the data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-| version | st\| *Require\|
-| | ri\| d*. |
-| | ng | Data |
-| | | format |
-| | | version |
-| | | of the |
-| | | data |
-| | | format |
-| | | that is |
-| | | used by |
-| | | this |
-| | | interfac\|
-| | | e |
-+-------------+----+----------+
-
-Note, for CDAP, there is a slight variation due to the way CDAP exposes
-services:
-
-::
-
- "provides":[ // note this is a list of JSON
- {
- "request":{ ...},
- "response":{ ...},
- "service_name":"name CDAP service",
- "service_endpoint":"greet", // E.g the URL is /services/service_name/methods/service_endpoint
- "verb":"GET" // GET, PUT, or POST
- }
- ]
-
-``provides`` Schema for a CDAP component:
-
-+-------------+----+-----------+
-| Property | Ty\| Descript\ |
-| Name | pe | ion |
-+=============+====+===========+
-| request | JS\| *Require\ |
-| | ON | d*. |
-| | ob\| Descript\ |
-| | je\| ion |
-| | ct | of the |
-| | | expected |
-| | | request |
-| | | data |
-| | | format |
-| | | for this |
-| | | interfac\ |
-| | | e |
-+-------------+----+-----------+
-| response | JS\| *Require\ |
-| | ON | d*. |
-| | ob\| Descript\ |
-| | je\| ion |
-| | ct | of the |
-| | | expected |
-| | | response |
-| | | for this |
-| | | interfac\ |
-| | | e |
-+-------------+----+-----------+
-| service_nam\| st\| *Require\ |
-| e | ri\| d*. |
-| | ng | The CDAP |
-| | | service |
-| | | name (eg |
-| | | “Greetin\ |
-| | | g”) |
-+-------------+----+-----------+
-| service_end | st\| *Require\ |
-| point | ri\| d*. |
-| | ng | The CDAP |
-| | | service |
-| | | endpoint |
-| | | for this |
-| | | service_n\|
-| | | ame |
-| | | (eg |
-| | | “/greet” |
-| | | ) |
-+-------------+----+-----------+
-| verb | st\| *Require\ |
-| | ri\| d*. |
-| | ng | ‘GET’, |
-| | | ‘PUT’ or |
-| | | ‘POST’ |
-+-------------+----+-----------+
-
-.. _common-specification-parameters:
-
-Parameters
-----------
-
-``parameters`` is where to specify the component’s application
-configuration parameters that are not connection information.
-
-+---------------+------------+----------------------------------+
-| Property Name | Type | Description |
-+===============+============+==================================+
-| parameters | JSON array | Each entry is a parameter object |
-+---------------+------------+----------------------------------+
-
-Parameter object has the following available properties:
-
-+--------------+----+----------+------+
-| Property | Ty\| Descript\| Defa\|
-| Name | pe | ion | ult |
-+==============+====+==========+======+
-| name | st\| *Require\| |
-| | ri\| d*. | |
-| | ng | The | |
-| | | property | |
-| | | name | |
-| | | that | |
-| | | will be | |
-| | | used as | |
-| | | the key | |
-| | | in the | |
-| | | generate\| |
-| | | d | |
-| | | config | |
-+--------------+----+----------+------+
-| value | an\| *Require\| |
-| | y | d*. | |
-| | | The | |
-| | | default | |
-| | | value | |
-| | | for the | |
-| | | given | |
-| | | paramete\| |
-| | | r | |
-+--------------+----+----------+------+
-| description | st\| *Require\| |
-| | ri\| d*. | |
-| | ng | Human-re\| |
-| | | adable | |
-| | | text | |
-| | | describi\| |
-| | | ng | |
-| | | the | |
-| | | paramete\| |
-| | | r | |
-| | | like | |
-| | | what its | |
-| | | for | |
-+--------------+----+----------+------+
-| type | st\| The | |
-| | ri\| required | |
-| | ng | data | |
-| | | type for | |
-| | | the | |
-| | | paramete\| |
-| | | r | |
-+--------------+----+----------+------+
-| required | bo\| An | true |
-| | ol\| optional | |
-| | ea\| key that | |
-| | n | declares | |
-| | | a | |
-| | | paramete\| |
-| | | r | |
-| | | as | |
-| | | required | |
-| | | (true) | |
-| | | or not | |
-| | | (false) | |
-+--------------+----+----------+------+
-| constraints | ar\| The | |
-| | ra\| optional | |
-| | y | list of | |
-| | | sequence | |
-| | | d | |
-| | | constrai\| |
-| | | nt | |
-| | | clauses | |
-| | | for the | |
-| | | paramete\| |
-| | | r. | |
-| | | See | |
-| | | below | |
-+--------------+----+----------+------+
-| entry_schem\ | st\| The | |
-| a | ri\| optional | |
-| | ng | key that | |
-| | | is used | |
-| | | to | |
-| | | declare | |
-| | | the name | |
-| | | of the | |
-| | | Datatype | |
-| | | definiti\| |
-| | | on | |
-| | | for | |
-| | | entries | |
-| | | of set | |
-| | | types | |
-| | | such as | |
-| | | the | |
-| | | TOSCA | |
-| | | ‘list’ | |
-| | | or | |
-| | | ‘map’. | |
-| | | Only 1 | |
-| | | level is | |
-| | | supporte\| |
-| | | d | |
-| | | at this | |
-| | | time | |
-+--------------+----+----------+------+
-| designer_ed\ | bo\| An | |
-| itable | ol\| optional | |
-| | ea\| key that | |
-| | n | declares | |
-| | | a | |
-| | | paramete\| |
-| | | r | |
-| | | to be | |
-| | | editable | |
-| | | by | |
-| | | designer | |
-| | | (true) | |
-| | | or not | |
-| | | (false) | |
-+--------------+----+----------+------+
-| sourced_at_d\| bo\| An | |
-| eployment | ol\| optional | |
-| | ea\| key that | |
-| | n | declares | |
-| | | a | |
-| | | paramete\| |
-| | | r’s | |
-| | | value to | |
-| | | be | |
-| | | assigned | |
-| | | at | |
-| | | deployme\| |
-| | | nt | |
-| | | time | |
-| | | (true) | |
-+--------------+----+----------+------+
-| policy_edit\ | bo\| An | |
-| able | ol\| optional | |
-| | ea\| key that | |
-| | n | declares | |
-| | | a | |
-| | | paramete\| |
-| | | r | |
-| | | to be | |
-| | | editable | |
-| | | by | |
-| | | policy | |
-| | | (true) | |
-| | | or not | |
-| | | (false) | |
-+--------------+----+----------+------+
-| policy_sche\ | ar\| The | |
-| ma | ra\| optional | |
-| | y | list of | |
-| | | schema | |
-| | | definiti\| |
-| | | ons | |
-| | | used for | |
-| | | policy. | |
-| | | See | |
-| | | below | |
-+--------------+----+----------+------+
-
-Example:
-
-.. code:: json
-
- "parameters": [
- {
- "name": "threshold",
- "value": 0.75,
- "description": "Probability threshold to exceed to be anomalous"
- }
- ]
-
-Many of the parameter properties have been copied from TOSCA model
-property definitions and are to be used for service design composition
-and policy creation. See `section 3.5.8 *Property
-definition* <http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.1/TOSCA-Simple-Profile-YAML-v1.1.html>`__.
-
-The property ``constraints`` is a list of objects where each constraint
-object:
-
-+--------------+----+----------+
-| Property | Ty\| Descript\|
-| Name | pe | ion |
-+==============+====+==========+
-| equal | | Constrai\|
-| | | ns |
-| | | a |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value |
-| | | equal to |
-| | | (‘=’) |
-| | | the |
-| | | value |
-| | | declared |
-+--------------+----+----------+
-| greater_tha\ | nu\| Constrai\|
-| n | mb\| ns |
-| | er | a |
-| | | property |
-| | | or |
-| | | paramete |
-| | | r |
-| | | to a |
-| | | value |
-| | | greater |
-| | | than |
-| | | (‘>’) |
-| | | the |
-| | | value |
-| | | declared |
-+--------------+----+----------+
-| greater_or_e\| nu\| Constrai\|
-| qual | mb\| ns |
-| | er | a |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value |
-| | | greater |
-| | | than or |
-| | | equal to |
-| | | (‘>=’) |
-| | | the |
-| | | value |
-| | | declared |
-+--------------+----+----------+
-| less_than | nu\| Constrai\|
-| | mb\| ns |
-| | er | a |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value |
-| | | less |
-| | | than |
-| | | (‘<’) |
-| | | the |
-| | | value |
-| | | declared |
-+--------------+----+----------+
-| less_or_equ\ | nu\| Constrai\|
-| al | mb\| ns |
-| | er | a |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value |
-| | | less |
-| | | than or |
-| | | equal to |
-| | | (‘<=’) |
-| | | the |
-| | | value |
-| | | declared |
-+--------------+----+----------+
-| valid_value\ | ar\| Constrai\|
-| s | ra\| ns |
-| | y | a |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value |
-| | | that is |
-| | | in the |
-| | | list of |
-| | | declared |
-| | | values |
-+--------------+----+----------+
-| length | nu\| Constrai\|
-| | mb\| ns |
-| | er | the |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value of |
-| | | a given |
-| | | length |
-+--------------+----+----------+
-| min_length | nu\| Constrai\|
-| | mb\| ns |
-| | er | the |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value to |
-| | | a |
-| | | minimum |
-| | | length |
-+--------------+----+----------+
-| max_length | nu\| Constrai\|
-| | mb\| ns |
-| | er | the |
-| | | property |
-| | | or |
-| | | paramete\|
-| | | r |
-| | | to a |
-| | | value to |
-| | | a |
-| | | maximum |
-| | | length |
-+--------------+----+----------+
-
-``threshold`` is the configuration parameter and will get set to 0.75
-when the configuration gets generated.
-
-The property ``policy_schema`` is a list of objects where each
-policy_schema object:
-
-+-------------+----+----------+------+
-| Property | Ty\| Descript\| Defa\|
-| Name | pe | ion | ult |
-+=============+====+==========+======+
-| name | st\| *Require\| |
-| | ri\| d*. | |
-| | ng | paramete\| |
-| | | r | |
-| | | name | |
-+-------------+----+----------+------+
-| value | st\| default | |
-| | ri\| value | |
-| | ng | for the | |
-| | | paramete\| |
-| | | r | |
-+-------------+----+----------+------+
-| description | st\| paramete\| |
-| | ri\| r | |
-| | ng | descript\| |
-| | | ion | |
-+-------------+----+----------+------+
-| type | en\| *Require\| |
-| | um | d*. | |
-| | | data | |
-| | | type of | |
-| | | the | |
-| | | paramete\| |
-| | | r, | |
-| | | ‘string’ | |
-| | | , | |
-| | | ‘number’ | |
-| | | , | |
-| | | ‘boolean | |
-| | | ’, | |
-| | | ‘datetim\| |
-| | | e’, | |
-| | | ‘list’, | |
-| | | or ‘map’ | |
-+-------------+----+----------+------+
-| required | bo\| is | true |
-| | ol\| paramete\| |
-| | ea\| r | |
-| | n | required | |
-| | | or not? | |
-+-------------+----+----------+------+
-| constraints | ar\| The | |
-| | ra\| optional | |
-| | y | list of | |
-| | | sequence\| |
-| | | d | |
-| | | constrai\| |
-| | | nt | |
-| | | clauses | |
-| | | for the | |
-| | | paramete\| |
-| | | r. | |
-| | | See | |
-| | | above | |
-+-------------+----+----------+------+
-| entry_schem\| st\| The | |
-| a | ri\| optional | |
-| | ng | key that | |
-| | | is used | |
-| | | to | |
-| | | declare | |
-| | | the name | |
-| | | of the | |
-| | | Datatype | |
-| | | definiti\| |
-| | | on | |
-| | | for | |
-| | | certain | |
-| | | types. | |
-| | | entry_sc\| |
-| | | hema | |
-| | | must be | |
-| | | defined | |
-| | | when the | |
-| | | type is | |
-| | | either | |
-| | | list or | |
-| | | map. If | |
-| | | the type | |
-| | | is list | |
-| | | and the | |
-| | | entry | |
-| | | type is | |
-| | | a simple | |
-| | | type | |
-| | | (string, | |
-| | | number, | |
-| | | bookean, | |
-| | | datetime | |
-| | | ), | |
-| | | follow | |
-| | | with an | |
-| | | string | |
-| | | to | |
-| | | describe | |
-| | | the | |
-| | | entry | |
-+-------------+----+----------+------+
-| | If | | |
-| | th\| | |
-| | e | | |
-| | ty\| | |
-| | pe | | |
-| | is | | |
-| | li\| | |
-| | st | | |
-| | an\| | |
-| | d | | |
-| | th\| | |
-| | e | | |
-| | en\| | |
-| | tr\| | |
-| | y | | |
-| | ty\| | |
-| | pe | | |
-| | is | | |
-| | a | | |
-| | ma\| | |
-| | p, | | |
-| | fo\| | |
-| | ll\| | |
-| | ow | | |
-| | wi\| | |
-| | th | | |
-| | an | | |
-| | ar\| | |
-| | ra\| | |
-| | y | | |
-| | to | | |
-| | de\| | |
-| | sc\| | |
-| | ri\| | |
-| | be | | |
-| | th\| | |
-| | e | | |
-| | ke\| | |
-| | ys | | |
-| | fo\| | |
-| | r | | |
-| | th\| | |
-| | e | | |
-| | en\| | |
-| | tr\| | |
-| | y | | |
-| | ma\| | |
-| | p | | |
-+-------------+----+----------+------+
-| | If | | |
-| | th\| | |
-| | e | | |
-| | ty\| | |
-| | pe | | |
-| | is | | |
-| | li\| | |
-| | st | | |
-| | an\| | |
-| | d | | |
-| | th\| | |
-| | e | | |
-| | en\| | |
-| | tr\| | |
-| | y | | |
-| | ty\| | |
-| | pe | | |
-| | is | | |
-| | a | | |
-| | li\| | |
-| | st | | |
-| | , | | |
-| | th\| | |
-| | at | | |
-| | is | | |
-| | no\| | |
-| | t | | |
-| | cu\| | |
-| | rr\| | |
-| | en\| | |
-| | tl\| | |
-| | y | | |
-| | su\| | |
-| | pp\| | |
-| | or\| | |
-| | te\| | |
-| | d \| | |
-+-------------+----+----------+------+
-| | If | | |
-| | th\| | |
-| | e | | |
-| | ty\| | |
-| | pe | | |
-| | is | | |
-| | ma\| | |
-| | p, | | |
-| | fo\| | |
-| | ll\| | |
-| | ow | | |
-| | wi\| | |
-| | th | | |
-| | an | | |
-| | ar\| | |
-| | ay | | |
-| | to | | |
-| | de\| | |
-| | sc\| | |
-| | ri\| | |
-| | be | | |
-| | th\| | |
-| | e | | |
-| | ke\| | |
-| | ys | | |
-| | fo\| | |
-| | r | | |
-| | th\| | |
-| | e | | |
-| | ma\| | |
-| | p | | |
-+-------------+----+----------+------+
-
-Generated Application Configuration
------------------------------------
-
-The Platform generates configuration for the component (based on the component spec) at deployment time. The generated application configuration will be made up of the Parameters, Streams, and Services sections, after any provisioning for streams and services. The component developer can see what this configuration will look like by reviewing the :any:`component dev command <dcae-cli-run-the-dev-command>`.
-
-
-.. _artifacts:
-
-Artifacts
----------
-
-``artifacts`` contains a list of artifacts associated with this
-component. For Docker, this is the full path (including the registry) to
-the Docker image. For CDAP, this is the full path to the CDAP jar.
-
-+---------------+------------+---------------------------------+
-| Property Name | Type | Description |
-+===============+============+=================================+
-| artifacts | JSON array | Each entry is a artifact object |
-+---------------+------------+---------------------------------+
-
-``artifact`` Schema:
-
-+---------------+--------+--------------------------------------------+
-| Property Name | Type | Description |
-+===============+========+============================================+
-| uri | string | *Required*. Uri to the artifact, full path |
-+---------------+--------+--------------------------------------------+
-| type | string | *Required*. ``docker image`` or ``jar`` |
-+---------------+--------+--------------------------------------------+
-
-.. _component_spec:
-
-Working with Component Specs
-============================
-
-Components can be added to the onboarding catalog (which first validates the component spec) by using the :doc:`dcae_cli Tool <../dcae-cli/quickstart/>`
-Here you can also list the components, show the contents of a component, publish the component, validate the generated configuration for the component, deploy (run) and undeploy the component. For a list of these capabilities, see :any:`Component Commands <dcae_cli_component_commands>`
-
diff --git a/docs/sections/components/component-specification/component-specification.rst b/docs/sections/components/component-specification/component-specification.rst
deleted file mode 100644
index 56649d31..00000000
--- a/docs/sections/components/component-specification/component-specification.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Component Specification
-=======================
-
-.. toctree::
- :maxdepth: 1
-
- ./common-specification.rst
- ./cdap-specification.rst
- ./docker-specification.rst
- ./dmaap-connection-objects.rst
- ./streams-grid.rst
- ./configuration-grid.rst
-
diff --git a/docs/sections/components/component-specification/configuration-grid.rst b/docs/sections/components/component-specification/configuration-grid.rst
deleted file mode 100755
index da9b4ab7..00000000
--- a/docs/sections/components/component-specification/configuration-grid.rst
+++ /dev/null
@@ -1,121 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Configuration Quick Reference
-=============================
-
-Default Values
-^^^^^^^^^^^^^^
-
-The component developer can provide default values for any ``parameter``
-in the component specification. These defaults will be passed to the
-component in its generated configuration.
-
-Overridden/Entered Values
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Depending on the other properties set for the parameter, the default
-value can be overridden at ‘design-time’, ‘deploy-time’ or once the
-microservice is running (‘run-time’). (*In the future, when Policy is
-supported, configuration will also be able to be provided/changed in the
-Policy UI at any time).*
-
-
-+--------+--------+--------+--------+------------+
-| | Design\| CLAMP | Policy | Deploy-Time|
-| | -Time | Input | Input | Input |
-| | Input | | (futur\| |
-| | | | e) | |
-+========+========+========+========+============+
-| Descri\| Applie\| Applie\| (not | Applies to |
-| ption | s | s | yet | manually |
-| | to SDC | to | suppor\| deployed |
-| | self-s\| compon\| ted) | services |
-| | ervice | ents | | |
-| | compon\| deploy\| | |
-| | ents | ed | | |
-| | | by | | |
-| | | CLAMP | | |
-+--------+--------+--------+--------+------------+
-| Input | Servic\| CLAMP | Operat\| DevOps |
-| provid\| e | | ions | |
-| ed | Design | | | |
-| by | er | | | |
-+--------+--------+--------+--------+------------+
-| How it | In the | In the | In the | In the DCAE|
-| is | SDC UI | CLAMP | POLICY | Dashboard |
-| provid\| | UI | GUI | (or Jenkins|
-| ed | | | | job) |
-+--------+--------+--------+--------+------------+
-| Compon\| ‘desig\| None. | ‘polic\| ‘sourced\ |
-| ent | ner-ed\| Develo\| y_edit\| _at_deploy\|
-| Specif\| itable\| per | able’ | ment’ must |
-| icatio\| ’ | provid\| must | be set to |
-| n | set to | es | be set | ‘true’ |
-| Detail\| ‘true’ | CLAMP | to | |
-| s | | an | ‘true’ | |
-| | | email | and | |
-| | | with | ‘polic\| |
-| | | parame\| y_sche\| |
-| | | ters | ma’ | |
-| | | to be | must | |
-| | | suppor\| be | |
-| | | ted | provid\| |
-| | | | ed | |
-| | | | | |
-| | | | | |
-+--------+--------+--------+--------+------------+
-| Additi\| | | For | |
-| onal | | | Docker | |
-| Info | | | only: | |
-| for | | | In the | |
-| Compon\| | | auxili\| |
-| ent | | | ary | |
-| Develo\| | | sectio\| |
-| per | | | n: | |
-| | | | {“poli\| |
-| | | | cy”: | |
-| | | | {“trig\| |
-| | | | ger_ty\| |
-| | | | pe”: | |
-| | | | “polic\| |
-| | | | y”,“sc\| |
-| | | | ript_p\| |
-| | | | ath”: | |
-| | | | “/opt/\| |
-| | | | app/re\| |
-| | | | config\| |
-| | | | ure.sh | |
-| | | | ”} | |
-| | | | } | |
-| | | | Script | |
-| | | | interf\| |
-| | | | ace | |
-| | | | would | |
-| | | | then | |
-| | | | be | |
-| | | | “/opt/\| |
-| | | | app/re\| |
-| | | | config\| |
-| | | | ure.sh | |
-| | | | ” | |
-| | | | $trigg\| |
-| | | | er_typ\| |
-| | | | e | |
-| | | | $updat\| |
-| | | | ed_pol\| |
-| | | | icy" | |
-| | | | where | |
-| | | | $updat\| |
-| | | | ed_pol\| |
-| | | | icy | |
-| | | | is | |
-| | | | json | |
-| | | | provid\| |
-| | | | ed | |
-| | | | by the | |
-| | | | Policy | |
-| | | | Handle\| |
-| | | | r. | |
-+--------+--------+--------+--------+------------+
-
diff --git a/docs/sections/components/component-specification/dmaap-connection-objects.rst b/docs/sections/components/component-specification/dmaap-connection-objects.rst
deleted file mode 100755
index dfd4980f..00000000
--- a/docs/sections/components/component-specification/dmaap-connection-objects.rst
+++ /dev/null
@@ -1,276 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _dmaap-connection-objects:
-
-DMaaP connection objects
-========================
-
-DMaaP Connection Objects are JSON objects that:
-
-1. At Runtime - this is generated by the DCAE Platform and passed to the
- component in its application_configuration to be used to connect to
- the DMaaP feed or topic. Components will receive the entire object
- with all properties populated (default will be \`null) unless
- specified otherwise.
-2. During dcae_cli testing - this is provided through the command-line
- argument ``--dmaap-file`` to test the component with manually
- provisioned feeds and topics. Developers are not required to provide
- the entire object. The required properties are labeled below with
- “*Required as input*”.
-
-.. _dmaap-message-router:
-
-Message Router
---------------
-
-Publishers and subscribers have the same generated
-``Dmaap Connection Object`` structure. Here’s an example for any given
-config-key: (This is what will be in application_configuration)
-
-.. code:: json
-
- {
- "type": "message_router",
- "aaf_username": "some-user",
- "aaf_password": "some-password",
- "dmaap_info": {
- "client_role": "com.dcae.member",
- "client_id": "1500462518108",
- "location": "mtc00",
- "topic_url": "https://we-are-message-router.us:3905/events/some-topic"
- }
- }
-
-At the top-level:
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| type | string | *Required as input*. Must |
-| | | be ``message_router`` for |
-| | | message router topics |
-+--------------------------------+---------+---------------------------+
-| aaf_username | string | AAF username message |
-| | | router clients use to |
-| | | authenticate with secure |
-| | | topics |
-+--------------------------------+---------+---------------------------+
-| aaf_password | string | AAF password message |
-| | | router clients use to |
-| | | authenticate with secure |
-| | | topics |
-+--------------------------------+---------+---------------------------+
-| dmaap_info | JSON | *Required as input*. |
-| | object | Contains the topic |
-| | | connection details |
-+--------------------------------+---------+---------------------------+
-
-The ``dmaap_info`` object contains:
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| client_role | string | AAF client role that’s |
-| | | requesting publish or |
-| | | subscribe access to the |
-| | | topic |
-+--------------------------------+---------+---------------------------+
-| client_id | string | Client id for given AAF |
-| | | client |
-+--------------------------------+---------+---------------------------+
-| location | string | DCAE location for the |
-| | | publisher or subscriber, |
-| | | used to set up routing |
-+--------------------------------+---------+---------------------------+
-| topic_url | string | *Required as input*. URL |
-| | | for accessing the topic |
-| | | to publish or receive |
-| | | events |
-+--------------------------------+---------+---------------------------+
-
-The –dmaap-file argument (to the component ``run`` or ``dev`` command),
-must minimally contain:
-
-.. code:: json
-
- {
- "type": "message_router",
- "dmaap_info": {
- "topic_url": "https://we-are-message-router.us:3905/events/some-topic"
- }
- }
-
-.. _dmaap-data-router:
-
-Data Router
------------
-
-Publisher
-~~~~~~~~~
-
-Here’s an example of what the generated ``Dmaap Connection Object`` for
-Data Router Publisher looks like: (This is what will be in
-application_configuration)
-
-.. code:: json
-
- {
- "type": "data_router",
- "dmaap_info": {
- "location": "mtc00",
- "publish_url": "https://we-are-data-router.us/feed/xyz",
- "log_url": "https://we-are-data-router.us/feed/xyz/logs",
- "username": "some-user",
- "password": "some-password",
- "publisher_id": "123456"
- }
- }
-
-At the top-level:
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| type | string | *Required as input*. Must |
-| | | be ``data_router`` for |
-| | | data router feeds |
-+--------------------------------+---------+---------------------------+
-| dmaap_info | JSON | *Required as input*. |
-| | object | Contains the feed |
-| | | connection details |
-+--------------------------------+---------+---------------------------+
-
-The ``dmaap_info`` object contains:
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| location | string | DCAE location for the |
-| | | publisher, used to set up |
-| | | routing |
-+--------------------------------+---------+---------------------------+
-| publish_url | string | *Required as input*. URL |
-| | | to which the publisher |
-| | | makes Data Router publish |
-| | | requests |
-+--------------------------------+---------+---------------------------+
-| log_url | string | URL from which log data |
-| | | for the feed can be |
-| | | obtained |
-+--------------------------------+---------+---------------------------+
-| username | string | Username the publisher |
-| | | uses to authenticate to |
-| | | Data Router |
-+--------------------------------+---------+---------------------------+
-| password | string | Password the publisher |
-| | | uses to authenticate to |
-| | | Data Router |
-+--------------------------------+---------+---------------------------+
-| publisher_id | string | Publisher id in Data |
-| | | Router |
-+--------------------------------+---------+---------------------------+
-
-The –dmaap-file argument (to the component ``run`` or ``dev`` command),
-must minimally contain:
-
-.. code:: json
-
- {
- "type": "data_router",
- "dmaap_info": {
- "publish_url": "https://we-are-data-router.us/feed/xyz"
- }
- }
-
-Subscriber
-~~~~~~~~~~
-
-Here’s an example of what the generated ``Dmaap Connection Object`` for
-a Data Router Subscriber looks like: (This is what will be passed in
-application_configuration)
-
-.. code:: json
-
- {
- "type": "data_router",
- "dmaap_info": {
- "location": "mtc00",
- "delivery_url": "https://my-subscriber-app.dcae:8080/target-path",
- "username": "some-user",
- "password": "some-password",
- "subscriber_id": "789012"
- }
- }
-
-At the top-level:
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| type | string | *Required as input*. Must |
-| | | be ``data_router`` for |
-| | | data router feeds |
-+--------------------------------+---------+---------------------------+
-| dmaap_info | JSON | *Required as input*. |
-| | object | Contains the feed |
-| | | connection details |
-+--------------------------------+---------+---------------------------+
-
-The ``dmaap_info`` object contains:
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| location | string | DCAE location for the |
-| | | subscriber, used to set |
-| | | up routing |
-+--------------------------------+---------+---------------------------+
-| delivery_url | string | URL to which the Data |
-| | | Router should deliver |
-| | | files |
-+--------------------------------+---------+---------------------------+
-| username | string | Username Data Router uses |
-| | | to authenticate to the |
-| | | subscriber when |
-| | | delivering files |
-+--------------------------------+---------+---------------------------+
-| password | string | Password Data Router uses |
-| | | to authenticate to the |
-| | | subscriber when |
-| | | delivering files |
-+--------------------------------+---------+---------------------------+
-| subscriber_id | string | Subscriber id in Data |
-| | | Router |
-+--------------------------------+---------+---------------------------+
-
-The –dmaap-file argument (to the component ``run`` or ``dev`` command),
-must minimally contain:
-
-.. code:: json
-
- {
- "type": "data_router",
- "dmaap_info": {
- }
- }
-
-It is the recommended security practice that ``username`` and
-``password`` are specified. You cannot provide the ``delivery_url`` in
-your dmaap-file, because it’s not constructed until deployment time.
-Therefore, after the test deployment, go back to the Data Router Feed
-and provide the delivery_url (in order to start receiving the feeds).
-
-Data Router Example
-~~~~~~~~~~~~~~~~~~~
-
-(After the Data Router feed has been manually provisioned)
-
-::
-
- $ dcae_cli component run --dmaap-file $dmaap_file $component-name
- DCAE.Run | WARNING | Your component is a data router subscriber. Here are the delivery urls:
-
- some-sub-dr: http://135.205.226.128:32838/identity
-
-(Update the Data Router Feed to provide the delivery_url).
diff --git a/docs/sections/components/component-specification/docker-specification.rst b/docs/sections/components/component-specification/docker-specification.rst
deleted file mode 100755
index 128c006d..00000000
--- a/docs/sections/components/component-specification/docker-specification.rst
+++ /dev/null
@@ -1,351 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _docker-specification:
-
-Component specification (Docker)
-================================
-
-The Docker component specification contains the following groups of
-information. Many of these are common to both Docker and CDAP components
-and are therefore described in the common specification.
-
-- :any:`Metadata <metadata>`
-- :any:`Interfaces <interfaces>` including the
- associated :any:`Data Formats <data-formats>`
-- :any:`Parameters <parameters>`
-- :any:`Auxiliary Details <docker-auxiliary-details>`
-- :any:`List of Artifacts <artifacts>`
-
-.. _docker-auxiliary-details:
-
-Auxiliary Details
------------------
-
-``auxiliary`` contains Docker specific details like health check, port
-mapping, volume mapping and policy reconfiguration script details.
-(Policy reconfiguration is not yet supported).
-
-+--------------------------------+---------+---------------------------+
-| Name | Type | Description |
-+================================+=========+===========================+
-| healthcheck | JSON | *Required*. Health check |
-| | object | definition details |
-+--------------------------------+---------+---------------------------+
-| ports | JSON | each array item maps a |
-| | array | container port to the |
-| | | host port. See example |
-| | | below. |
-+--------------------------------+---------+---------------------------+
-| volume | JSON | each array item contains |
-| | array | a host and container |
-| | | object. See example |
-| | | below. |
-+--------------------------------+---------+---------------------------+
-| *Planned for 1806* | | |
-+--------------------------------+---------+---------------------------+
-| policy | JSON | *Required*. Policy |
-| | array | reconfiguration script |
-| | | details |
-+--------------------------------+---------+---------------------------+
-
-Health Check Definition
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The platform uses Consul to perform periodic health check calls. Consul
-provides different types of `check
-definitions <https://www.consul.io/docs/agent/checks.html>`__. The
-platform currently supports http and docker health checks.
-
-When choosing a value for interval, consider that too frequent
-healthchecks will put unnecessary load on Consul and DCAE. If there is a
-problematic resource, then more frequent healthchecks are warranted (eg
-15s or 60s), but as stability increases, so can these values, (eg
-300s).
-
-When choosing a value for timeout, consider that too small a number will
-result in increasing timeout failures, and too large a number will
-result in a delay in the notification of the resource problem. A
-suggestion is to start with 5s and work from there.
-
-http
-^^^^
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| type | string | *Required*. ``http`` |
-+--------------------------------+---------+---------------------------+
-| interval | string | Interval duration in |
-| | | seconds i.e. ``60s`` |
-+--------------------------------+---------+---------------------------+
-| timeout | string | Timeout in seconds i.e. |
-| | | ``5s`` |
-+--------------------------------+---------+---------------------------+
-| endpoint | string | *Required*. GET endpoint |
-| | | provided by the component |
-| | | for Consul to call to |
-| | | check health |
-+--------------------------------+---------+---------------------------+
-
-Example:
-
-.. code:: json
-
- "auxilary": {
- "healthcheck": {
- "type": "http",
- "interval": "15s",
- "timeout": "1s",
- "endpoint": "/my-health"
- }
- }
-
-docker script example
-^^^^^^^^^^^^^^^^^^^^^
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| type | string | *Required*. ``docker`` |
-+--------------------------------+---------+---------------------------+
-| interval | string | Interval duration in |
-| | | seconds i.e. ``15s`` |
-+--------------------------------+---------+---------------------------+
-| timeout | string | Timeout in seconds i.e. |
-| | | ``1s`` |
-+--------------------------------+---------+---------------------------+
-| script | string | *Required*. Full path of |
-| | | script that exists in the |
-| | | Docker container to be |
-| | | executed |
-+--------------------------------+---------+---------------------------+
-
-Consul will use the `Docker exec
-API <https://docs.docker.com/engine/api/v1.29/#tag/Exec>`__ to
-periodically call your script in your container. It will examine the
-script result to identify whether your component is healthy. Your
-component is considered healthy when the script returns ``0`` otherwise
-your component is considered not healthy.
-
-Example:
-
-.. code:: json
-
- "auxilary": {
- "healthcheck": {
- "type": "docker",
- "script": "/app/resources/check_health.py",
- "timeout": "30s",
- "interval": "180s"
- }
- }
-
-Ports
-~~~~~
-
-This method of exposing/mapping a local port to a host port is NOT
-RECOMMENDED because of the possibility of port conflicts. If multiple
-instances of a docker container will be running, there definitely will
-be port conflicts. Use at your own risk. (The preferred way to expose a
-port is to do so in the Dockerfile as described
-:any:`here <dcae-cli-docker-ports>`).
-
-.. code:: json
-
- "auxilary": {
- "ports": ["8080:8000"]
- }
-
-In the example above, container port 8080 maps to host port 8000.
-
-Volume Mapping
-~~~~~~~~~~~~~~
-
-.. code:: json
-
- "auxilary": {
- "volumes": [
- {
- "container": {
- "bind": "/tmp/docker.sock",
- "mode": "ro"
- },
- "host": {
- "path": "/var/run/docker.sock"
- }
- }
- ]
- }
-
-At the top-level:
-
-+---------------+-------+-------------------------------------+
-| Property Name | Type | Description |
-+===============+=======+=====================================+
-| volumes | array | Contains container and host objects |
-+---------------+-------+-------------------------------------+
-
-The ``container`` object contains:
-
-
-+-----------------------+-----------------------+-------------------------------+
-| Property Name | Type | Description |
-+=======================+=======================+===============================+
-| bind | string | path to the container |
-| | | volume |
-+-----------------------+-----------------------+-------------------------------+
-| mode | string | ro - indicates |
-| | | read-only volume |
-+-----------------------+-----------------------+-------------------------------+
-| | | w - indicates that |
-| | | the contain can write |
-| | | into the bind mount |
-+-----------------------+-----------------------+-------------------------------+
-
-The ``host`` object contains:
-
-+---------------+--------+-------------------------+
-| Property Name | Type | Description |
-+===============+========+=========================+
-| path | string | path to the host volume |
-+---------------+--------+-------------------------+
-
-Here’s an example of the minimal JSON that must be provided as an input:
-
-.. code:: json
-
- "auxilary": {
- "volumes": [
- {
- "container": {
- "bind": "/tmp/docker.sock"
- },
- "host": {
- "path": "/var/run/docker.sock"
- }
- }
- ]
- }
-
-In the example above, the container volume “/tmp/docker.sock” maps to
-host volume “/var/run/docker.sock”.
-
-
-Policy (not yet supported)
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Policy changes made in the Policy UI will be provided to the Docker
-component by triggering a script that is defined here.
-
-+--------------------------------+---------+---------------------------+
-| Property Name | Type | Description |
-+================================+=========+===========================+
-| reconfigure_type | string | *Required*. Current value |
-| | | supported is ``policy`` |
-+--------------------------------+---------+---------------------------+
-| script_path | string | *Required*. Current value |
-| | | for ‘policy’ |
-| | | reconfigure_type must be |
-| | | “/opt/app/reconfigure.sh” |
-+--------------------------------+---------+---------------------------+
-
-Example:
-
-.. code:: json
-
- "auxilary": {
- "policy": {
- "reconfigure_type": "policy",
- "script_path": "/opt/app/reconfigure.sh"
- }
- }
-
-The docker script interface is as follows: \`/opt/app/reconfigure.sh
-$reconfigure_type {“updated policies”: , “application config”: }
-
-+---------------------+--------------+----------------------------------------+
-| Name | Type | Description |
-+=====================+==============+========================================+
-| reconfigure_type | string | policy |
-+---------------------+--------------+----------------------------------------+
-| updated_policies | json | TBD |
-+---------------------+--------------+----------------------------------------+
-| updated_appl_config | json | complete generated app_config, not |
-| | | fully-resolved, but ``policy-enabled`` |
-| | | parameters have been updated. In order |
-| | | to get the complete updated |
-| | | app_config, the component would have |
-| | | to call ``config-binding-service``. |
-+---------------------+--------------+----------------------------------------+
-
-Docker Component Spec - Complete Example
-----------------------------------------
-
-.. code:: json
-
- {
- "self": {
- "version": "1.0.0",
- "name": "yourapp.component.kpi_anomaly",
- "description": "Classifies VNF KPI data as anomalous",
- "component_type": "docker"
- },
- "streams": {
- "subscribes": [{
- "format": "dcae.vnf.kpi",
- "version": "1.0.0",
- "route": "/data",
- "type": "http"
- }],
- "publishes": [{
- "format": "yourapp.format.integerClassification",
- "version": "1.0.0",
- "config_key": "prediction",
- "type": "http"
- }]
- },
- "services": {
- "calls": [{
- "config_key": "vnf-db",
- "request": {
- "format": "dcae.vnf.meta",
- "version": "1.0.0"
- },
- "response": {
- "format": "dcae.vnf.kpi",
- "version": "1.0.0"
- }
- }],
- "provides": [{
- "route": "/score-vnf",
- "request": {
- "format": "dcae.vnf.meta",
- "version": "1.0.0"
- },
- "response": {
- "format": "yourapp.format.integerClassification",
- "version": "1.0.0"
- }
- }]
- },
- "parameters": [
- {
- "name": "threshold",
- "value": 0.75,
- "description": "Probability threshold to exceed to be anomalous"
- }
- ],
- "auxilary": {
- "healthcheck": {
- "type": "http",
- "interval": "15s",
- "timeout": "1s",
- "endpoint": "/my-health"
- }
- },
- "artifacts": [{
- "uri": "fake.nexus.att.com/dcae/kpi_anomaly:1.0.0",
- "type": "docker image"
- }]
- }
diff --git a/docs/sections/components/component-specification/streams-grid.rst b/docs/sections/components/component-specification/streams-grid.rst
deleted file mode 100755
index 6105e9e1..00000000
--- a/docs/sections/components/component-specification/streams-grid.rst
+++ /dev/null
@@ -1,149 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _streams-grid:
-
-Streams Formatting Quick Reference
-==================================
-
-Each of the following tables represents an example of a publisher and
-its subscriber, which are of course, different components. This focuses
-on the fields that are ‘different’ for each of these TYPEs, to
-illustrate the relationship between ``config_key``, dmaap connection
-object, and the generated configuration. Some notes on specific
-properties:
-
-- ``config_key`` is an arbitrary string, chosen by the component
- developer. It is returned in the generated configuration where it
- contains specific values for the target connection
-- ``format``, ``version``, and ``type`` properties in the subscriber
- would match these properties in the publisher
-- ``aaf_username`` and ``aaf_password`` may be different between the
- publisher and the subscriber
-
-Using http
-~~~~~~~~~~
-
-*Publishing Component*
-^^^^^^^^^^^^^^^^^^^^^^
-
-+-----------------------------+----------------------------------------+
-| component \ | runtime platform generated config |
-| spec | |
-+=============================+========================================+
-| "streams":{   | "streams_publishes":{  |
-| "publishes":[{ | "prediction":"10.100.1.100:32567/data" |
-| "config_key":"prediction", |  |
-| "format":"some-format", | |
-| "type":"http", | |
-| "version":"0.1.0"   } | |
-| ]} | |
-+-----------------------------+----------------------------------------+
-
-*Subscribing Component*
-^^^^^^^^^^^^^^^^^^^^^^^
-
-+-----------------------------+----------------------------------------+
-| component | runtime platform generated config |
-| spec | |
-+=============================+========================================+
-| “streams”:{    | "N/A" |
-| "subscribes":[{ | |
-| "route":"/data", | |
-| "format":"some-format", | |
-| "type":"http" | |
-| "version":"0.1.0"   } | |
-| ]} | |
-+-----------------------------+----------------------------------------+
-
-Using Message Router
-~~~~~~~~~~~~~~~~~~~~
-
-.. publishing-component-1:
-
-*Publishing Component*
-^^^^^^^^^^^^^^^^^^^^^^
-
-Note: When deploying, this component should be deployed first so satisfy
-downstream dependencies. Refer to the –force option in component ‘run’
-command for more information.
-
-+---------------+------------------------+-----------------------------------------------------------------------------+
-| component \ | Dmaap Connection \ | runtime platform generated \ |
-| spec | Object | config |
-+===============+========================+=============================================================================+
-| “streams”:{  | {     “dmaap_info”: | “streams_publishes”:{    |
-|     “config_k\| {} \ *Note: For \ | “aaf_username”:“pub-user”,   |
-| ey”:“mr_out\ | message router, this \ |   “type”:“message_router”,   |
-| put”,     “t\ | object is identical \ |      “topic_url”:"https://we-are-message-router.us:3905/events/some-topic"\ |
-| ype”:“messag\ | for the publisher and \| "streams_subscribes":{...} |
-| e_router”,   | the subscriber* | |
-|  }]} | | |
-+---------------+------------------------+-----------------------------------------------------------------------------+
-
-*Subscribing Component*
-^^^^^^^^^^^^^^^^^^^^^^^
-
-+---------------+------------------------+-----------------------------------------------------------------------------+
-| component \ | Dmaap Connection \ | runtime platform generated \ |
-| spec | Object | config |
-+===============+========================+=============================================================================+
-| “streams”:{  | {     “dmaap_info”: | “streams_publishes”:{…}, |
-|     “config_k\| {} \ *Note: For \ | “streams_subscribes”:{    |
-| ey”:“mr_inp\ | message router, this \ | “aaf_username”:“sub-user”,   |
-| ut”,     “ty\ | object is identical \ |   “type”:“message_router”,   |
-| pe”:“message\ | for the publisher and \|      “topic_url”:“https://we-are-message-router.us:3905/events/some-topic" |
-| _router”,    | the subscriber* | |
-| }]} | | |
-+---------------+------------------------+-----------------------------------------------------------------------------+
-
-Using Data Router
-~~~~~~~~~~~~~~~~~
-
-.. publishing-component-2:
-
-*Publishing Component*
-^^^^^^^^^^^^^^^^^^^^^^
-
-+---------------+-----------------------------------------------+-----------------------------------------------+
-| component spec| Dmaap Connection Object | runtime platform generated config |
-+===============+===============================================+===============================================+
-| “streams”:{  | {    “dmaap_info”: { | streams_publishes“:{    ”typ\ |
-| “config_key: |      “location”: | e“:”data_router“,       "location":"mtc00" |
-| “dr_output" | “mtc00”,      | , |
-| , "type": | “publish_url”: | "publish_url“: |
-| “data_r\ | "https://we-are-data-router.us/feed/xyz"\ | "http://we-are-data-router.us/feed/xyz" |
-| outer”,   }] | , | , |
-| } | “log_url”:\ | "log_url“:\ |
-| | \ | ”https://we-are-data-router.us/feed/xyz/logs" |
-| | "https://we-are-data-router.us/feed/xyz/logs"\| , |
-| | , | ”username“:”pub-user“, |
-| | “username”: | ”publisher_id“:”123456\ |
-| | “pub-user”,      | “}}, |
-| | “password”: |  ”streams_subscribes“:{ |
-| | “pub-password”,      | … } |
-| | “publisher_id”: | |
-| | “123456”}} | |
-+---------------+-----------------------------------------------+-----------------------------------------------+
-
-.. subscribing-component-1:
-
-*Subscribing Component*
-^^^^^^^^^^^^^^^^^^^^^^^
-
-+---------------+---------------------------------------------------+---------------------------------------------------------------------------+
-| component \ | Dmaap Connection \ | runtime platform generated \ |
-| spec | Object | config |
-+===============+===================================================+===========================================================================+
-| “streams”:{  | {      “dmaap_info”: | “streams_publishes”:{ … }, |
-|     “config_k\| {      “location”: | “streams_subscribes”:{       |
-| ey”:“dr_inp\ | “mtc00”,      | “type”:“data_router”,        |
-| ut”,     “ty\ | “delivery_url”: |   “location”:“mtc00”, |
-| pe”:“data_ro\ | "https://my-subscriber-app.dcae:8080/target-path"\|          “delivery_url”:"https://my-subscriber-app.dcae:8080/target-path"\|
-| uter”, | \ | \ |
-|     “route”: | , | , |
-| “/target-pat\ |      “password”: | \        |
-| h”} | “sub-password”,      | “username”:“sub-user”, |
-| | “subscriber_id”: |          |
-| | “789012”}} | “subscriber_id”:“789012”}} |
-+---------------+---------------------------------------------------+---------------------------------------------------------------------------+