blob: 9ce5659dc4ffdc21a585ad32cd62ac30ac0cbe0d [file] [log] [blame]
.. This work is a derivative of https://wiki.onap.org/display/DW/Modeling+Concepts#Concepts-198012600
.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2020 Deutsche Telekom AG.
.. _expression:
Expression
----------
TOSCA provides for a set of functions to reference elements within the template or to retrieve runtime values.
**Below is a list of supported expressions**
.. tabs::
.. tab:: get_input
**get_input**
The **get_input** function is used to retrieve the values of properties declared
within the inputs section of a TOSCA Service Template.
Within CDS, this is mainly Workflow inputs.
`TOSCA specification
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454178>`_
**Example:**
`<https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/golden-blueprint.json#L210>`_
.. code-block:: json
"resolution-key": {
"get_input": "resolution-key"
}
.. tab:: get_property
**get_property**
The **get_property** function is used to retrieve property values between modelable
entities defined in the same service template.
`TOSCA specification
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454178>`_
**Example:**
.. code-block:: json
"get_property": ["SELF", "property-name"]
.. tab:: get_attribute
**get_attribute**
The **get_attribute** function is used to retrieve the values of named attributes declared
by the referenced node or relationship template name.
`TOSCA specification
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454178>`_
**Example:**
`<https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/golden-blueprint.json#L64-L67>`_
.. code-block:: json
"get_attribute": [
"resource-assignment",
"assignment-params"
]
.. tab:: get_operation_output
**get_operation_output**
The **get_operation_output** function is used to retrieve the values of variables
exposed / exported from an interface operation.
`TOSCA specification
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454180>`_
**Example:**
.. code-block:: json
"get_operation_output": ["SELF", "interface-name", "operation-name", "output-property-name"]
.. tab:: get_artifact
**get_artifact**
The **get_artifact** function is used to retrieve artifact location between modelable
entities defined in the same service template.
`TOSCA specification
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454182>`_
**Example:**
.. code-block:: json
"get_artifact" : ["SELF", "artifact-template", "location", true]