.. This work is licensed under a Creative Commons Attribution 4.0 International License. Onboarding HTTP API (MOD) ========================= .. toctree:: :maxdepth: 3 Description ~~~~~~~~~~~ Onboarding API is sub-component under MOD provides following function: 1. API to add/update data-formats 2. API to add/update components (component_Spec) These API can be invoked by MS owners or by Acumos adapter to upload artifact into MOD catalog .. csv-table:: :header: "API name", "Swagger" :widths: 10,5 "Inventory", ":download:`link `" Base URL ~~~~~~~~ http:///onboarding ONBOARDING ~~~~~~~~~~ Default namespace GET ``/components/{component_id}`` ---------------------------------- Description +++++++++++ .. raw:: html Get a Component Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 component_id | path | Yes | string | | | Request +++++++ Headers ^^^^^^^ .. code-block:: javascript X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html Responses +++++++++ **200** ^^^^^^^ Success Type: :ref:`component fields ` extended :ref:`inline ` **Example:** .. code-block:: javascript { "componentType": "somestring", "componentUrl": "somestring", "description": "somestring", "id": "somestring", "modified": "2015-01-01T15:00:00.000Z", "name": "somestring", "owner": "somestring", "spec": {}, "status": "somestring", "version": "somestring", "whenAdded": "2015-01-01T15:00:00.000Z" } **404** ^^^^^^^ Component not found in Catalog Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error GET ``/components`` ------------------- Description +++++++++++ .. raw:: html Get list of Components in the catalog Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 name | query | No | string | | | Name of component to filter for version | query | No | string | | | Version of component to filter for Request +++++++ Headers ^^^^^^^ .. code-block:: javascript X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html Responses +++++++++ **200** ^^^^^^^ Success Type: :ref:`Component List ` **Example:** .. code-block:: javascript { "components": [ { "componentType": "somestring", "componentUrl": "somestring", "description": "somestring", "id": "somestring", "modified": "2015-01-01T15:00:00.000Z", "name": "somestring", "owner": "somestring", "status": "somestring", "version": "somestring", "whenAdded": "2015-01-01T15:00:00.000Z" }, { "componentType": "somestring", "componentUrl": "somestring", "description": "somestring", "id": "somestring", "modified": "2015-01-01T15:00:00.000Z", "name": "somestring", "owner": "somestring", "status": "somestring", "version": "somestring", "whenAdded": "2015-01-01T15:00:00.000Z" } ] } **500** ^^^^^^^ Internal Server Error GET ``/dataformats/{dataformat_id}`` ------------------------------------ Description +++++++++++ .. raw:: html Get a Data Format Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 dataformat_id | path | Yes | string | | | Request +++++++ Headers ^^^^^^^ .. code-block:: javascript X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html Responses +++++++++ **200** ^^^^^^^ Success Type: :ref:`dataformat fields ` extended :ref:`inline ` **Example:** .. code-block:: javascript { "dataFormatUrl": "somestring", "description": "somestring", "id": "somestring", "modified": "2015-01-01T15:00:00.000Z", "name": "somestring", "owner": "somestring", "spec": {}, "status": "somestring", "version": "somestring", "whenAdded": "2015-01-01T15:00:00.000Z" } **404** ^^^^^^^ Data Format not found in Catalog Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error GET ``/dataformats`` -------------------- Description +++++++++++ .. raw:: html Get list of Data Formats in the catalog Request +++++++ Headers ^^^^^^^ .. code-block:: javascript X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html Responses +++++++++ **200** ^^^^^^^ Success Type: :ref:`Data Format List ` **Example:** .. code-block:: javascript { "dataFormats": [ { "dataFormatUrl": "somestring", "description": "somestring", "id": "somestring", "modified": "2015-01-01T15:00:00.000Z", "name": "somestring", "owner": "somestring", "status": "somestring", "version": "somestring", "whenAdded": "2015-01-01T15:00:00.000Z" }, { "dataFormatUrl": "somestring", "description": "somestring", "id": "somestring", "modified": "2015-01-01T15:00:00.000Z", "name": "somestring", "owner": "somestring", "status": "somestring", "version": "somestring", "whenAdded": "2015-01-01T15:00:00.000Z" } ] } **500** ^^^^^^^ Internal Server Error PATCH ``/components/{component_id}`` ------------------------------------ Description +++++++++++ .. raw:: html Update a Component's status in the Catalog Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 component_id | path | Yes | string | | | Request +++++++ .. _d_fb61d9acd5848e8d882a33934d47ad4f: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | Yes | string | | | User ID status | Yes | string | | {'enum': ['published', 'revoked']} | . . . . .[published] is the only status change supported right now .. code-block:: javascript { "owner": "somestring", "status": "published" } Responses +++++++++ **200** ^^^^^^^ Success, Component status updated **400** ^^^^^^^ Bad Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **403** ^^^^^^^ Forbidden Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **404** ^^^^^^^ Component not found in Catalog Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error PATCH ``/dataformats/{dataformat_id}`` -------------------------------------- Description +++++++++++ .. raw:: html Update a Data Format's status in the Catalog Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 dataformat_id | path | Yes | string | | | Request +++++++ .. _d_fb61d9acd5848e8d882a33934d47ad4f: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | Yes | string | | | User ID status | Yes | string | | {'enum': ['published', 'revoked']} | . . . . .[published] is the only status change supported right now .. code-block:: javascript { "owner": "somestring", "status": "published" } Responses +++++++++ **200** ^^^^^^^ Success, Data Format status updated **400** ^^^^^^^ Bad Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **403** ^^^^^^^ Forbidden Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **404** ^^^^^^^ Data Format not found in Catalog Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error POST ``/components`` -------------------- Description +++++++++++ .. raw:: html Add a Component to the Catalog Request +++++++ Headers ^^^^^^^ .. code-block:: javascript X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html .. _d_fd89ec3540efda71c3748235024e0b4d: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | No | string | | | spec | No | :ref:`spec ` | | | The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json .. _i_793f480461dccbb35537f2001ab7af5b: **Spec schema:** The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json .. code-block:: javascript { "owner": "somestring", "spec": {} } Responses +++++++++ **200** ^^^^^^^ Success Type: :ref:`Component post ` **Example:** .. code-block:: javascript { "componentUrl": "somestring" } **400** ^^^^^^^ Bad Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **409** ^^^^^^^ Component already exists Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error POST ``/dataformats`` --------------------- Description +++++++++++ .. raw:: html Add a Data Format to the Catalog Request +++++++ Headers ^^^^^^^ .. code-block:: javascript X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html .. _d_7a085a9ab5ed1527229588d3b6d2c4c2: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | No | string | | | spec | No | :ref:`spec ` | | | The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json .. _i_24d5c9ce4ae509ac2272fb61bf0e2003: **Spec schema:** The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json .. code-block:: javascript { "owner": "somestring", "spec": {} } Responses +++++++++ **200** ^^^^^^^ Success Type: :ref:`Data Format post ` **Example:** .. code-block:: javascript { "dataFormatUrl": "somestring" } **400** ^^^^^^^ Bad Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **409** ^^^^^^^ Data Format already exists Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error PUT ``/components/{component_id}`` ---------------------------------- Description +++++++++++ .. raw:: html Replace a Component Spec in the Catalog Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 component_id | path | Yes | string | | | Request +++++++ .. _d_fd89ec3540efda71c3748235024e0b4d: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | No | string | | | spec | No | :ref:`spec ` | | | The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json .. _i_793f480461dccbb35537f2001ab7af5b: **Spec schema:** The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json .. code-block:: javascript { "owner": "somestring", "spec": {} } Responses +++++++++ **200** ^^^^^^^ Success, Component replaced **400** ^^^^^^^ Bad Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **404** ^^^^^^^ Component not found in Catalog Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error PUT ``/dataformats/{dataformat_id}`` ------------------------------------ Description +++++++++++ .. raw:: html Replace a Data Format Spec in the Catalog Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 dataformat_id | path | Yes | string | | | Request +++++++ .. _d_7a085a9ab5ed1527229588d3b6d2c4c2: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | No | string | | | spec | No | :ref:`spec ` | | | The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json .. _i_24d5c9ce4ae509ac2272fb61bf0e2003: **Spec schema:** The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json .. code-block:: javascript { "owner": "somestring", "spec": {} } Responses +++++++++ **200** ^^^^^^^ Success, Data Format added **400** ^^^^^^^ Bad Request Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **404** ^^^^^^^ Data Format not found in Catalog Type: :ref:`Error message ` **Example:** .. code-block:: javascript { "message": "somestring" } **500** ^^^^^^^ Internal Server Error Data Structures ~~~~~~~~~~~~~~~ .. _d_53b82f243acb3fd79572e5a8e909c801: Component List Model Structure ------------------------------ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 components | No | array of :ref:`component fields ` | | | .. _d_fd89ec3540efda71c3748235024e0b4d: Component Spec Model Structure ------------------------------ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | No | string | | | spec | No | :ref:`spec ` | | | The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json .. _i_793f480461dccbb35537f2001ab7af5b: **Spec schema:** The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json .. _d_9eafe9d5168f431205b9fce1312b32bb: Component post Model Structure ------------------------------ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 componentUrl | Yes | string | | | . . . . Url to the Component Specification .. _d_9479fe3b8fa2fcaeb723c198da99e791: Data Format List Model Structure -------------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 dataFormats | No | array of :ref:`dataformat fields ` | | | .. _d_7a085a9ab5ed1527229588d3b6d2c4c2: Data Format Spec Model Structure -------------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | No | string | | | spec | No | :ref:`spec ` | | | The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json .. _i_24d5c9ce4ae509ac2272fb61bf0e2003: **Spec schema:** The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json .. _d_6557e42aae4abfe7f132d85f512a1a26: Data Format post Model Structure -------------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 dataFormatUrl | Yes | string | | | . . . . Url to the Data Format Specification .. _d_e8453714bcbe180e59d1dfbfc583c9cb: Error message Model Structure ----------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 message | No | string | | | . . . . .Details about the unsuccessful API request .. _d_fb61d9acd5848e8d882a33934d47ad4f: Patch Spec Model Structure -------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 owner | Yes | string | | | User ID status | Yes | string | | {'enum': ['published', 'revoked']} | . . . . .[published] is the only status change supported right now .. _d_41cf5e14516a536474c8079d332e86c7: component fields Model Structure -------------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 componentType | Yes | string | | | . . . . only 'docker' componentUrl | Yes | string | | | . . . . Url to the Component Specification description | Yes | string | | | . . . . Description of the component id | Yes | string | | | . . . . ID of the component modified | Yes | string | date-time | | . . . . When component was last modified name | Yes | string | | | . . . . Name of the component owner | Yes | string | | | . . . . ID of who added the component status | Yes | string | | | . . . . Status of the component version | Yes | string | | | . . . . Version of the component whenAdded | Yes | string | date-time | | . . . . When component was added to the Catalog .. _d_c86e31bb6b9a2aaf18cab261f501cdf1: component fields by id Model Structure -------------------------------------- :ref:`component fields ` extended :ref:`inline ` .. _i_34dba329148d5512a1350568d728c028: **Inline schema:** .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 componentType | Yes | string | | | . . . . only 'docker' componentUrl | Yes | string | | | . . . . Url to the Component Specification description | Yes | string | | | . . . . Description of the component id | Yes | string | | | . . . . ID of the component modified | Yes | string | date-time | | . . . . When component was last modified name | Yes | string | | | . . . . Name of the component owner | Yes | string | | | . . . . ID of who added the component spec | Yes | :ref:`spec ` | | | The Component Specification (json) status | Yes | string | | | . . . . Status of the component version | Yes | string | | | . . . . Version of the component whenAdded | Yes | string | date-time | | . . . . When component was added to the Catalog .. _i_ea9c5ae5ca1fb737a10e33ba863d3d34: **Spec schema:** The Component Specification (json) .. _d_68ab1278c950fd214a4077565fd97922: dataformat fields Model Structure --------------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 dataFormatUrl | Yes | string | | | . . . . Url to the Data Format Specification description | Yes | string | | | . . . . Description of the data format id | Yes | string | | | . . . . ID of the data format modified | Yes | string | date-time | | . . . . When data format was last modified name | Yes | string | | | . . . . Name of the data format owner | Yes | string | | | . . . . ID of who added the data format status | Yes | string | | | . . . . Status of the data format version | Yes | string | | | . . . . Version of the data format whenAdded | Yes | string | date-time | | . . . . When data format was added to the Catalog .. _d_9c3ce799741cd0dae7f4d25c049e8a79: dataformat fields by id Model Structure --------------------------------------- :ref:`dataformat fields ` extended :ref:`inline ` .. _i_19c008f5124504e9d9c719d157dab70f: **Inline schema:** .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 dataFormatUrl | Yes | string | | | . . . . Url to the Data Format Specification description | Yes | string | | | . . . . Description of the data format id | Yes | string | | | . . . . ID of the data format modified | Yes | string | date-time | | . . . . When data format was last modified name | Yes | string | | | . . . . Name of the data format owner | Yes | string | | | . . . . ID of who added the data format spec | Yes | :ref:`spec ` | | | The Data Format Specification (json) status | Yes | string | | | . . . . Status of the data format version | Yes | string | | | . . . . Version of the data format whenAdded | Yes | string | date-time | | . . . . When data format was added to the Catalog .. _i_c9a99411463ded6c619772d83b3882c8: **Spec schema:** The Data Format Specification (json)