diff options
author | Vijay VK <vv770d@att.com> | 2020-01-15 21:59:05 +0000 |
---|---|---|
committer | VENKATESH KUMAR <vv770d@att.com> | 2020-01-24 13:12:48 -0500 |
commit | 269194fbb95f51874d10b570083bf80c9824efa1 (patch) | |
tree | 71e23b5c1e8907ed6bc123a272c49c3048abd9d8 /docs | |
parent | 3bdcd5fcf45254a27cee6e244eddcc63cabb43e8 (diff) |
OnboardingAPI doc update
Change-Id: I314f1e1f0cf55366a6d7074d8bc7215aa8f9e8ee
Signed-off-by: VENKATESH KUMAR <vv770d@att.com>
Issue-ID: DCAEGEN2-1871
Diffstat (limited to 'docs')
-rw-r--r-- | docs/sections/apis/mod-onboardingapi.json | 597 | ||||
-rw-r--r-- | docs/sections/apis/mod-onboardingapi.rst | 1297 | ||||
-rw-r--r-- | docs/sections/offeredapis.rst | 1 |
3 files changed, 1895 insertions, 0 deletions
diff --git a/docs/sections/apis/mod-onboardingapi.json b/docs/sections/apis/mod-onboardingapi.json new file mode 100644 index 00000000..8e8ce9af --- /dev/null +++ b/docs/sections/apis/mod-onboardingapi.json @@ -0,0 +1,597 @@ +{ + "swagger": "2.0", + "basePath": "/onboarding", + "paths": { + "/components": { + "post": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "409": { + "description": "Component already exists", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Component post" + } + } + }, + "description": "Add a Component to the Catalog", + "operationId": "post_component", + "parameters": [{ + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Component Spec" + } + }, { + "name": "X-Fields", + "in": "header", + "type": "string", + "format": "mask", + "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html" + }], + "tags": ["onboarding"] + }, + "get": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Component List" + } + } + }, + "description": "Get list of Components in the catalog", + "operationId": "get_components", + "parameters": [{ + "name": "name", + "in": "query", + "type": "string", + "description": "Name of component to filter for" + }, { + "name": "version", + "in": "query", + "type": "string", + "description": "Version of component to filter for" + }, { + "name": "X-Fields", + "in": "header", + "type": "string", + "format": "mask", + "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html" + }], + "tags": ["onboarding"] + } + }, + "/components/{component_id}": { + "parameters": [{ + "name": "component_id", + "in": "path", + "required": true, + "type": "string" + }], + "put": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "404": { + "description": "Component not found in Catalog", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success, Component replaced" + } + }, + "description": "Replace a Component Spec in the Catalog", + "operationId": "put_component", + "parameters": [{ + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Component Spec" + } + }], + "tags": ["onboarding"] + }, + "get": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "404": { + "description": "Component not found in Catalog", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/component fields by id" + } + } + }, + "description": "Get a Component", + "operationId": "get_component", + "parameters": [{ + "name": "X-Fields", + "in": "header", + "type": "string", + "format": "mask", + "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html" + }], + "tags": ["onboarding"] + }, + "patch": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "404": { + "description": "Component not found in Catalog", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "403": { + "description": "Forbidden Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success, Component status updated" + } + }, + "description": "Update a Component's status in the Catalog", + "operationId": "patch_component", + "parameters": [{ + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Patch Spec" + } + }], + "tags": ["onboarding"] + } + }, + "/dataformats": { + "post": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "409": { + "description": "Data Format already exists", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Data Format post" + } + } + }, + "description": "Add a Data Format to the Catalog", + "operationId": "post_dataformat", + "parameters": [{ + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Data Format Spec" + } + }, { + "name": "X-Fields", + "in": "header", + "type": "string", + "format": "mask", + "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html" + }], + "tags": ["onboarding"] + }, + "get": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Data Format List" + } + } + }, + "description": "Get list of Data Formats in the catalog", + "operationId": "get_dataformats", + "parameters": [{ + "name": "X-Fields", + "in": "header", + "type": "string", + "format": "mask", + "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html" + }], + "tags": ["onboarding"] + } + }, + "/dataformats/{dataformat_id}": { + "parameters": [{ + "name": "dataformat_id", + "in": "path", + "required": true, + "type": "string" + }], + "put": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "404": { + "description": "Data Format not found in Catalog", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success, Data Format added" + } + }, + "description": "Replace a Data Format Spec in the Catalog", + "operationId": "put_dataformat", + "parameters": [{ + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Data Format Spec" + } + }], + "tags": ["onboarding"] + }, + "get": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "404": { + "description": "Data Format not found in Catalog", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/dataformat fields by id" + } + } + }, + "description": "Get a Data Format", + "operationId": "get_dataformat", + "parameters": [{ + "name": "X-Fields", + "in": "header", + "type": "string", + "format": "mask", + "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html" + }], + "tags": ["onboarding"] + }, + "patch": { + "responses": { + "500": { + "description": "Internal Server Error" + }, + "404": { + "description": "Data Format not found in Catalog", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "403": { + "description": "Forbidden Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error message" + } + }, + "200": { + "description": "Success, Data Format status updated" + } + }, + "description": "Update a Data Format's status in the Catalog", + "operationId": "patch_dataformat", + "parameters": [{ + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Patch Spec" + } + }], + "tags": ["onboarding"] + } + } + }, + "info": { + "title": "DCAE Onboarding HTTP API", + "version": "2.12.0" + }, + "produces": ["application/json"], + "consumes": ["application/json"], + "tags": [{ + "name": "onboarding", + "description": "Default namespace" + }], + "definitions": { + "Component Spec": { + "properties": { + "owner": { + "type": "string" + }, + "spec": { + "type": "object", + "description": "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" + } + } + }, + "Error message": { + "properties": { + "message": { + "type": "string", + "description": ". . . . .Details about the unsuccessful API request" + } + }, + "type": "object" + }, + "Component post": { + "required": ["componentUrl"], + "properties": { + "componentUrl": { + "type": "string", + "description": ". . . . Url to the Component Specification" + } + }, + "type": "object" + }, + "Component List": { + "properties": { + "components": { + "type": "array", + "items": { + "$ref": "#/definitions/component fields" + } + } + }, + "type": "object" + }, + "component fields": { + "required": ["componentType", "componentUrl", "description", "id", "modified", "name", "owner", "status", "version", "whenAdded"], + "properties": { + "id": { + "type": "string", + "description": ". . . . ID of the component" + }, + "name": { + "type": "string", + "description": ". . . . Name of the component" + }, + "version": { + "type": "string", + "description": ". . . . Version of the component" + }, + "owner": { + "type": "string", + "description": ". . . . ID of who added the component" + }, + "whenAdded": { + "type": "string", + "format": "date-time", + "description": ". . . . When component was added to the Catalog" + }, + "modified": { + "type": "string", + "format": "date-time", + "description": ". . . . When component was last modified" + }, + "status": { + "type": "string", + "description": ". . . . Status of the component" + }, + "description": { + "type": "string", + "description": ". . . . Description of the component" + }, + "componentType": { + "type": "string", + "description": ". . . . only \"docker\"" + }, + "componentUrl": { + "type": "string", + "description": ". . . . Url to the Component Specification" + } + }, + "type": "object" + }, + "Patch Spec": { + "required": ["owner", "status"], + "properties": { + "owner": { + "type": "string", + "description": "User ID" + }, + "status": { + "type": "string", + "description": ". . . . .[published] is the only status change supported right now", + "example": "published", + "enum": ["published", "revoked"] + } + }, + "type": "object" + }, + "component fields by id": { + "allOf": [{ + "$ref": "#/definitions/component fields" + }, { + "required": ["spec"], + "properties": { + "spec": { + "type": "object", + "description": "The Component Specification (json)" + } + }, + "type": "object" + }] + }, + "Data Format Spec": { + "properties": { + "owner": { + "type": "string" + }, + "spec": { + "type": "object", + "description": "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" + } + } + }, + "Data Format post": { + "required": ["dataFormatUrl"], + "properties": { + "dataFormatUrl": { + "type": "string", + "description": ". . . . Url to the Data Format Specification" + } + }, + "type": "object" + }, + "Data Format List": { + "properties": { + "dataFormats": { + "type": "array", + "items": { + "$ref": "#/definitions/dataformat fields" + } + } + }, + "type": "object" + }, + "dataformat fields": { + "required": ["dataFormatUrl", "description", "id", "modified", "name", "owner", "status", "version", "whenAdded"], + "properties": { + "id": { + "type": "string", + "description": ". . . . ID of the data format" + }, + "name": { + "type": "string", + "description": ". . . . Name of the data format" + }, + "version": { + "type": "string", + "description": ". . . . Version of the data format" + }, + "owner": { + "type": "string", + "description": ". . . . ID of who added the data format" + }, + "whenAdded": { + "type": "string", + "format": "date-time", + "description": ". . . . When data format was added to the Catalog" + }, + "modified": { + "type": "string", + "format": "date-time", + "description": ". . . . When data format was last modified" + }, + "status": { + "type": "string", + "description": ". . . . Status of the data format" + }, + "description": { + "type": "string", + "description": ". . . . Description of the data format" + }, + "dataFormatUrl": { + "type": "string", + "description": ". . . . Url to the Data Format Specification" + } + }, + "type": "object" + }, + "dataformat fields by id": { + "allOf": [{ + "$ref": "#/definitions/dataformat fields" + }, { + "required": ["spec"], + "properties": { + "spec": { + "type": "object", + "description": "The Data Format Specification (json)" + } + }, + "type": "object" + }] + } + }, + "responses": { + "ParseError": { + "description": "When a mask can't be parsed" + }, + "MaskError": { + "description": "When any error occurs on mask" + } + } +}
\ No newline at end of file diff --git a/docs/sections/apis/mod-onboardingapi.rst b/docs/sections/apis/mod-onboardingapi.rst new file mode 100644 index 00000000..25fa709e --- /dev/null +++ b/docs/sections/apis/mod-onboardingapi.rst @@ -0,0 +1,1297 @@ +.. 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 <mod-onboardingapi.json>`" + +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 <d_41cf5e14516a536474c8079d332e86c7>` extended :ref:`inline <i_34dba329148d5512a1350568d728c028>` + +**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 <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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 <d_53b82f243acb3fd79572e5a8e909c801>` + +**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 <d_68ab1278c950fd214a4077565fd97922>` extended :ref:`inline <i_19c008f5124504e9d9c719d157dab70f>` + +**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 <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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 <d_9479fe3b8fa2fcaeb723c198da99e791>` + +**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 <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**403** +^^^^^^^ + +Forbidden Request + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**404** +^^^^^^^ + +Component not found in Catalog + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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 <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**403** +^^^^^^^ + +Forbidden Request + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**404** +^^^^^^^ + +Data Format not found in Catalog + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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 <i_793f480461dccbb35537f2001ab7af5b>` | | | 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 <d_9eafe9d5168f431205b9fce1312b32bb>` + +**Example:** + +.. code-block:: javascript + + { + "componentUrl": "somestring" + } + +**400** +^^^^^^^ + +Bad Request + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**409** +^^^^^^^ + +Component already exists + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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 <i_24d5c9ce4ae509ac2272fb61bf0e2003>` | | | 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 <d_6557e42aae4abfe7f132d85f512a1a26>` + +**Example:** + +.. code-block:: javascript + + { + "dataFormatUrl": "somestring" + } + +**400** +^^^^^^^ + +Bad Request + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**409** +^^^^^^^ + +Data Format already exists + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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 <i_793f480461dccbb35537f2001ab7af5b>` | | | 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 <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**404** +^^^^^^^ + +Component not found in Catalog + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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 <i_24d5c9ce4ae509ac2272fb61bf0e2003>` | | | 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 <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**Example:** + +.. code-block:: javascript + + { + "message": "somestring" + } + +**404** +^^^^^^^ + +Data Format not found in Catalog + + +Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>` + +**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_41cf5e14516a536474c8079d332e86c7>` | | | + +.. _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 <i_793f480461dccbb35537f2001ab7af5b>` | | | 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_68ab1278c950fd214a4077565fd97922>` | | | + +.. _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 <i_24d5c9ce4ae509ac2272fb61bf0e2003>` | | | 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 <d_41cf5e14516a536474c8079d332e86c7>` extended :ref:`inline <i_34dba329148d5512a1350568d728c028>` + +.. _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 <i_ea9c5ae5ca1fb737a10e33ba863d3d34>` | | | 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 <d_68ab1278c950fd214a4077565fd97922>` extended :ref:`inline <i_19c008f5124504e9d9c719d157dab70f>` + +.. _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 <i_c9a99411463ded6c619772d83b3882c8>` | | | 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) diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst index 921ba54c..f98c5d8a 100644 --- a/docs/sections/offeredapis.rst +++ b/docs/sections/offeredapis.rst @@ -15,3 +15,4 @@ Offered APIs apis/PNDA.rst apis/pmmapper.rst apis/SDK.rst + apis/mod-onboardingapi.rst |