diff options
author | JakobKrieg <jakob.krieg@bcmsolutions.de> | 2020-08-04 20:46:50 +0200 |
---|---|---|
committer | JakobKrieg <jakob.krieg@bcmsolutions.de> | 2020-08-04 20:46:59 +0200 |
commit | 7c3f39504a14c056d860e09ece970ccde349053f (patch) | |
tree | 47817becf6b1a3e481dfd6230c4f15d4f719bd2a /docs/modelingconcepts/data-type.rst | |
parent | 4a01363c4634a62946d6f2befe00cbf2d9872d90 (diff) |
Adding Modeling Concepts documentation from COnfluence to RDT
Issue-ID: CCSDK-2615
Change-Id: Ib5dfaecc96e8fac1dda07aa6c13aba5ded81efee
Signed-off-by: JakobKrieg <jakob.krieg@bcmsolutions.de>
Diffstat (limited to 'docs/modelingconcepts/data-type.rst')
-rw-r--r-- | docs/modelingconcepts/data-type.rst | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/docs/modelingconcepts/data-type.rst b/docs/modelingconcepts/data-type.rst new file mode 100644 index 000000000..d9861a23c --- /dev/null +++ b/docs/modelingconcepts/data-type.rst @@ -0,0 +1,231 @@ +.. This work is a derivative of https://wiki.onap.org/display/DW/Modeling+Concepts#Concepts-1581473264 by IBM +.. used under Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2020 Deutsche Telekom AG. + +.. _data_type: + +Data type +------------------------------------- + +Represents the **schema** of a specific type of **data**. + +Supports both **primitive** and **complex** data types: + +.. list-table:: + :widths: 50 50 + :header-rows: 1 + + * - Primitive + - Complex + * - * string + * integer + * float + * double + * boolean + * timestamp + * null + - * json + * list + * array +For complex data type, an **entry schema** is required, defining the +type of value contained within the complex type, if list or array. + +Users can **create** as many **data type** as needed. + +.. note:: + + **Creating Custom Data Types:** + + To create a custom data-type you can use a POST call to CDS endpoint: + "<cds-ip>:<cds-port>/api/v1/model-type" + + .. code-block:: python + :caption: **Payload:** + + { + + "model-name": "<model-name>", + "derivedFrom": "tosca.datatypes.Root", + + "definitionType": "data_type", + + "definition": { + + "description": "<description>", + + "version": "<version-number: eg 1.0.0>", + + "properties": {<add properties of your custom data type in JSON format>}, + + "derived_from": "tosca.datatypes.Root" + + }, + + "description": "<description", + + "version": "<version>", + + "tags": "<model-name>,datatypes.Root.data_type", + + "creationDate": "<creation timestamp>", + + "updatedBy": "<name>" + + } + +Data type are useful to manipulate data during resource resolution. +They can be used to format the JSON output as needed. + +List of existing data type: +`<https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type/data_type>`_ + +`TOSCA specification +<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454187>`_ + +**Below is a list of existing data types** + +.. tabs:: + + .. tab:: resource-assignment + + **datatype-resource-assignment** + + Used to define entries within artifact-mapping-resource + (see tab Artifact Type -> artifact-mapping-resource) + + That datatype represent a **resource** to be resolved. We also refer + this as an **instance of a data dictionary** as it's directly linked to + its definition. + + .. list-table:: + :widths: 50 50 + :header-rows: 1 + + * - Property + - Description + * - property + - Defines how the resource looks like (see datatype-property on the right tab) + * - input-param + - Whether the resource can be provided as input. + * - dictionary-name + - Reference to the name of the data dictionary (see :ref:`data_dictionary`). + * - dictionary-source + - Reference the source to use to resolve the resource (see :ref:`resource source`). + * - dependencies + - List of dependencies required to resolve this resource. + * - updated-date + - Date when mapping was upload. + * - updated-by + - Name of the person that updated the mapping. + + `<https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/data_type/datatype-resource-assignment.json>`_ + + .. code-block:: JSON + :caption: **datatype-resource-assignment** + + { + "version": "1.0.0", + "description": "This is Resource Assignment Data Type", + "properties": { + "property": { + "required": true, + "type": "datatype-property" + }, + "input-param": { + "required": true, + "type": "boolean" + }, + "dictionary-name": { + "required": false, + "type": "string" + }, + "dictionary-source": { + "required": false, + "type": "string" + }, + "dependencies": { + "required": true, + "type": "list", + "entry_schema": { + "type": "string" + } + }, + "updated-date": { + "required": false, + "type": "string" + }, + "updated-by": { + "required": false, + "type": "string" + } + }, + "derived_from": "tosca.datatypes.Root" + } + + .. tab:: property + + **datatype-property** + + Used to defined the **property** entry of a **resource assignment**. + + .. list-table:: + :widths: 25 75 + :header-rows: 1 + + * - Property + - Description + * - type + - Whether it's a primitive type, or a defined data-type + * - description + - Description of for the property + * - required + - Whether it's required or not + * - default + - If there is a default value to provide + * - entry_schema + - If the type is a complex one, such as list, define what is the type of element within the list. + + `<https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/data_type/datatype-property.json>`_ + + .. code-block:: JSON + :caption: **datatype-property** + + { + "version": "1.0.0", + "description": "This is Resource Assignment Data Type", + "properties": { + "property": { + "required": true, + "type": "datatype-property" + }, + "input-param": { + "required": true, + "type": "boolean" + }, + "dictionary-name": { + "required": false, + "type": "string" + }, + "dictionary-source": { + "required": false, + "type": "string" + }, + "dependencies": { + "required": true, + "type": "list", + "entry_schema": { + "type": "string" + } + }, + "updated-date": { + "required": false, + "type": "string" + }, + "updated-by": { + "required": false, + "type": "string" + } + }, + "derived_from": "tosca.datatypes.Root" + }
\ No newline at end of file |