summaryrefslogtreecommitdiffstats
path: root/docs/sli/northbound/nodes.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sli/northbound/nodes.rst')
-rw-r--r--docs/sli/northbound/nodes.rst1031
1 files changed, 0 insertions, 1031 deletions
diff --git a/docs/sli/northbound/nodes.rst b/docs/sli/northbound/nodes.rst
deleted file mode 100644
index 3bdeabcf..00000000
--- a/docs/sli/northbound/nodes.rst
+++ /dev/null
@@ -1,1031 +0,0 @@
---- Service Logic Interpreter --- Dan Timoney --- 2014-11-12 ---
-
-Supported node types
-====================
-
-The following built-in node types are currently supported:
-
-- Flow Control
-
- - `**block** <#Block_node>`__
-
- - `**call** <#Call_node>`__
-
- - `**for** <#For_node>`__
-
- - `**return** <#Return_node>`__
-
- - `**set** <#Set_node>`__
-
- - `**switch** <#Switch_node>`__
-
-- Device Management
-
- - `**configure** <#Configure_node>`__
-
-- Java Plugin Support
-
- - `**execute** <#Execute_node>`__
-
-- Recording
-
- - `**record** <#Record_node>`__
-
-- Resource Management
-
- - `**delete** <#Delete_node>`__
-
- - `**exists** <#Exists_node>`__
-
- - `**get-resource** <#Get-resource_node>`__
-
- - `**is-available** <#Is-available_node>`__
-
- - `**notify** <#Notify_node>`__
-
- - `**release** <#Release_node>`__
-
- - `**reserve** <#Reserve_node>`__
-
- - `**save** <#Save_node>`__
-
- - `**update** <#Update_node>`__
-
-Flow Control
-------------
-
-Block node
-~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **block** node is used to executes a set of nodes.
-
-Attributes
-^^^^^^^^^^
-
-+--------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| **atomic** | if *true*, then if a node returns failure, subsequent nodes will not be executed and nodes already executed will be backed out. |
-+--------------+-----------------------------------------------------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-None
-
-Example
-^^^^^^^
-
-::
-
- <block>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/tmp/sample_r1.log" />
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="RESERVED"/>
- <parameter name="field3" value="$asePort.uni_circuit_id"/>
- </record>
- <return status="success">
- <parameter name="uni-circuit-id" value="$asePort.uni_circuit_id" />
- </return>
- </block>
-
-Call node
-~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **call** node is used to call another graph
-
-Attributes
-^^^^^^^^^^
-
-+---------------+------------------------------------------------------------------------------------+
-| **module** | Module of directed graph to call. If unset, defaults to that of calling graph |
-+---------------+------------------------------------------------------------------------------------+
-| **rpc** | rpc of directed graph to call. |
-+---------------+------------------------------------------------------------------------------------+
-| **version** | version of graph to call, If unset, uses active version. |
-+---------------+------------------------------------------------------------------------------------+
-| **mode** | mode (sync/async) of graph to call. If unset, defaults to that of calling graph. |
-+---------------+------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-Not applicable
-
-Outcomes
-^^^^^^^^
-
-+-----------------+------------------------------+
-| **success** | Sub graph returned success |
-+-----------------+------------------------------+
-| **not-found** | Graph not found |
-+-----------------+------------------------------+
-| **failure** | Subgraph returned success |
-+-----------------+------------------------------+
-
-Table: .
-
-Example
-^^^^^^^
-
-::
-
- <call rpc="svc-topology-reserve" mode="sync" />
-
-For node
-~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **for** node provides a fixed iteration looping mechanism, similar to
-the Java for loop
-
-Attributes
-^^^^^^^^^^
-
-+-------------+------------------+
-| **index** | index variable |
-+-------------+------------------+
-| **start** | initial value |
-+-------------+------------------+
-| **end** | maximum value |
-+-------------+------------------+
-
-Parameters
-^^^^^^^^^^
-
-Not applicable.
-
-Outcomes
-^^^^^^^^
-
-Not applicable. The **status** node has no outcomes.
-
-Example
-^^^^^^^
-
-::
-
- <for index="i" start="0" end="`$service-data.universal-cpe-ft.l2-switch-interfaces_length`">
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="level" value="info"/>
- <parameter name="field1" value="`'current l2-switch-interface name is ' + $service-data.universal-cpe-ft.l2-switch-interfaces[$i].name`"/>
- </record>
- </for>
-
-Return node
-~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **return** node is used to return a status to the invoking MD-SAL
-application
-
-Attributes
-^^^^^^^^^^
-
-+--------------+---------------------------------------------------+
-| **status** | Status value to return (*success* or *failure*) |
-+--------------+---------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-The following optional parameters may be passed to convey more detailed
-status information.
-
-+---------------------+-----------------------------------------------------------------+
-| **error-code** | A brief, usually numeric, code indicating the error condition |
-+---------------------+-----------------------------------------------------------------+
-| **error-message** | A more detailed error message |
-+---------------------+-----------------------------------------------------------------+
-
-Outcomes
-^^^^^^^^
-
-Not applicable. The **status** node has no outcomes.
-
-Example
-^^^^^^^
-
-::
-
- <return status="failure">
- <parameter name="error-code" value="1542" />
- <parameter name="error-message" value="Activation failure" />
- </return>
-
-Set node
-~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **set** node is used to set one or more values in the execution
-context
-
-Attributes
-^^^^^^^^^^
-
-+---------------------+-------------------------------------------------------------------------------------+
-| **only-if-unset** | If true the set node will only execute if the current value of the target is null |
-+---------------------+-------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-Values to be set are passed as parameters
-
-Outcomes
-^^^^^^^^
-
-Not applicable. The **set** node has no outcomes.
-
-Example
-^^^^^^^
-
-::
-
- <set>
- <parameter name="vlan" value="$network.provider-segmentation-id" />
- </set>
-
-Switch node
-~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **switch** node is used to make a decision based on its **test**
-attribute.
-
-Attributes
-^^^^^^^^^^
-
-+------------+---------------------+
-| **test** | Condition to test |
-+------------+---------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-Depends on the **test** condition
-
-Example
-^^^^^^^
-
-::
-
- <switch test="$uni-cir-units">
- <outcome value="Mbps">
- <reserve plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value"
- pfx="asePort">
-
- <outcome value="success">
- <return status="success">
- <parameter name="uni-circuit-id" value="$asePort.uni_circuit_id" />
- </return>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="error-code" value="1010" />
- <parameter name="error-message" value="No ports found that match criteria" />
- </return>
- </outcome>
- </reserve>
- </outcome>
- <outcome value="Gbps">
- <reserve plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value*1000"
- pfx="asePort">
-
- <outcome value="success">
- <return status="success">
- <parameter name="uni-circuit-id" value="$asePort.uni_circuit_id" />
- </return>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="error-code" value="1010" />
- <parameter name="error-message" value="No ports found that match criteria" />
- </return>
- </outcome>
- </reserve>
- </outcome>
- </switch>
-
-Device Management
------------------
-
-Configure node
-~~~~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **configure** node is used to configure a device.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+-----------------------------------------------------------------------------------+
-| **adaptor** | Fully qualified Java class of resource adaptor to be used |
-+----------------+-----------------------------------------------------------------------------------+
-| **activate** | Activate device/interface, for devices that support a separate activation step. |
-+----------------+-----------------------------------------------------------------------------------+
-| **key** | SQL-like string specifying criteria for item to configure |
-+----------------+-----------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-Specific to device adaptor.
-
-Outcomes
-^^^^^^^^
-
-+----------------------+------------------------------------------------------------------+
-| **success** | Device successfully configured |
-+----------------------+------------------------------------------------------------------+
-| **not-found** | Element to be configured does not exist. |
-+----------------------+------------------------------------------------------------------+
-| **not-ready** | Element is not in a state where it can be configured/activated |
-+----------------------+------------------------------------------------------------------+
-| **already-active** | Attempt to activate element that is already active |
-+----------------------+------------------------------------------------------------------+
-| **failure** | Configure failed for some other reason |
-+----------------------+------------------------------------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <configure adaptor="org.onap.ccsdk.sli.adaptors.emt.EmtAdaptor"
- key="$uni-circuit-id" activate="true">
- <parameter name="circuit.id" value="$uni-circuit-id" />
- <parameter name="subscriber.name" value="$subscriber-name" />
- <parameter name="emt.clli" value="$edge-device-clli" />
- <parameter name="port.tagging" value="$port-tagging" />
- <parameter name="port.mediaSpeed" value="$media-speed" />
- <parameter name="location.state" value="$uni-location-state" />
- <parameter name="location.city" value="$uni-location-city" />
- <parameter name="cosCategory" value="$cos-category" />
- <parameter name="gosProfile" value="$gos-profile" />
- <parameter name="lldp" value="$asePort.resource-lldp" />
- <parameter name="mtu" value="$asePort.resource-mtu" />
- <outcome value="success">
- <block>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/tmp/sample_r1.log" />
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="ACTIVE"/>
- <parameter name="field3" value="$uni-circuit-id"/>
- </record>
- <return status="success">
- <parameter name="edge-device-clli" value="$asePort.resource-emt-clli" />
- </return>
- </block>
- </outcome>
- <outcome value="already-active">
- <return status="failure">
- <parameter name="error-code" value="1590" />
- <parameter name="error-message" value="Port already active" />
- </return>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="error-code" value="1542" />
- <parameter name="error-message" value="Activation failure" />
- </return>
- </outcome>
- </configure>
-
-Java Plugin Support
--------------------
-
-Execute node
-~~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-An **execute** node is used to execute Java code supplied as a plugin
-
-Attributes
-^^^^^^^^^^
-
-+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of plugin to be used |
-+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| **method** | Name of method in the plugin class to execute. Method must return void, and take 2 arguments: a Map (for parameters) and a SvcLogicContext (to allow plugin read/write access to context memory) |
-+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-Specific to plugin / method
-
-Outcomes
-^^^^^^^^
-
-+--------------------------+-----------------------------------------------------------------+
-| **success** | Device successfully configured |
-+--------------------------+-----------------------------------------------------------------+
-| **not-found** | Plugin class could not be loaded |
-+--------------------------+-----------------------------------------------------------------+
-| **unsupported-method** | Named method taking (Map, SvcLogicContext) could not be found |
-+--------------------------+-----------------------------------------------------------------+
-| **failure** | Configure failed for some other reason |
-+--------------------------+-----------------------------------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <execute plugin="org.onap.ccsdk.sli.plugins.HelloWorld"
- method="log">
- <parameter name="message" value="Hello, world!" />
- <outcome value="success">
- <return status="success"/>
- </outcome>
- <outcome value="not-found">
- <return status="failure">
- <parameter name="error-code" value="1590" />
- <parameter name="error-message" value="Could not locate plugin" />
- </return>
- </outcome>
- <outcome value="Other">
- <return status="failure">
- <parameter name="error-code" value="1542" />
- <parameter name="error-message" value="Internal error" />
- </return>
- </outcome>
- </execute>
-
-Recording
----------
-
-Record node
-~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **record** node is used to record an event. For example, this might be
-used to log provisioning events.
-
-Attributes
-^^^^^^^^^^
-
-+--------------+---------------------------------------------------+
-| **plugin** | Fully qualified Java class to handle recording. |
-+--------------+---------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-Parameters will depend on the plugin being used. For the FileRecorder
-class, the parameters are as follows
-
-+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| **file** | The file to which the record should be written |
-+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| **field1** | First field to write. There will be **field** parameters for each field to write, from **field1** through **fieldN**. A special value \_\_TIMESTAMP\_\_ may be assigned to a field to insert the current timestamp |
-+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Outcomes
-^^^^^^^^
-
-+---------------+--------------------------------------------+
-| **success** | Record successfully written |
-+---------------+--------------------------------------------+
-| **failure** | Record could not be successfully written |
-+---------------+--------------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/tmp/sample_r1.log" />
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="ACTIVE"/>
- <parameter name="field3" value="$uni-circuit-id"/>
- </record>
-
-Resource Management
--------------------
-
-Delete node
-~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **delete** node is used to delete a resource from the local resource
-inventory.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+-------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+-------------------------------------------------------------+
-| **resource** | Type of resource to delete |
-+----------------+-------------------------------------------------------------+
-| **key** | SQL-like string specifying key to delete |
-+----------------+-------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-+---------------+--------------------------------------------+
-| **success** | Resource specified deleted successfully. |
-+---------------+--------------------------------------------+
-| *failure*> | Resource specified was not deleted |
-+---------------+--------------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <delete plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- key="uni_circuit_id == $uni-circuit-id">
- <outcome value="true">
- <return status="success"/>
- </outcome>
- <outcome value="false">
- <return status="failure"/>
- </outcome>
- </delete>
-
-Exists node
-~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-An **exists** node is used to determine whether a particular instance of
-a resource exists. For example, this might be used to test whether a
-particular switch CLLI is provisioned.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+-------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+-------------------------------------------------------------+
-| **resource** | Type of resource to check |
-+----------------+-------------------------------------------------------------+
-| **key** | SQL-like string specifying key to check for |
-+----------------+-------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-+-------------+---------------------------------+
-| **true** | Resource specified exists. |
-+-------------+---------------------------------+
-| **false** | Resource specified is unknown |
-+-------------+---------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <exists plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- key="uni_circuit_id == $uni-circuit-id">
- <outcome value="true">
- <return status="success"/>
- </outcome>
- <outcome value="false">
- <return status="failure"/>
- </outcome>
- </exists>
-
-Get-resource node
-~~~~~~~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **get-resource** node is used to retrieve information about a
-particular resource and make it available to other nodes in the service
-logic tree. For example, this might be used to retrieve information
-about a particular uni-port.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+------------------------------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+------------------------------------------------------------------------------------------+
-| **resource** | Type of resource to retrieve |
-+----------------+------------------------------------------------------------------------------------------+
-| **key** | SQL-like string specifying criteria for retrieval |
-+----------------+------------------------------------------------------------------------------------------+
-| **pfx** | Prefix to add to context variable names set for data retrieved |
-+----------------+------------------------------------------------------------------------------------------+
-| **select** | String to specify, if key matches multiple entries, which entry should take precedence |
-+----------------+------------------------------------------------------------------------------------------+
-| **order-by** | Prefix to add to context variable names set for data retrieved |
-+----------------+------------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-+-----------------+--------------------------------------------------+
-| **success** | Resource successfully retrieved |
-+-----------------+--------------------------------------------------+
-| **not-found** | Resource referenced does not exist |
-+-----------------+--------------------------------------------------+
-| **failure** | Resource retrieve failed for some other reason |
-+-----------------+--------------------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- key="uni_circuit_id == $uni-circuit-id"
- pfx="current-port">
- <outcome value="success">
- <return status="success"/>
- </outcome>
- <outcome value="not-found">
- <return status="failure"/>
- </outcome>
- <outcome value="failure">
- <return status="failure"/>
- </outcome>
- </get-resource>
-
-Is-available node
-~~~~~~~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-An **is-available** node is used to determine whether a particular type
-of resource is available. For example, this might be used to test
-whether any ports are available for assignment on a particular switch.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+------------------------------------------------------------------+
-| **resource** | Type of resource to check |
-+----------------+------------------------------------------------------------------+
-| **key** | SQL-like string specifying key to check for |
-+----------------+------------------------------------------------------------------+
-| **pfx** | Prefix to add to context variable names set for data retrieved |
-+----------------+------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-+-------------+---------------------------------------+
-| **true** | Resource requested is available |
-+-------------+---------------------------------------+
-| **false** | Resource requested is not available |
-+-------------+---------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <is-available plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value">
- <outcome value="true">
- <return status="success"/>
- </outcome>
- <outcome value="false">
- <return status="failure"/>
- </outcome>
- </is-available>
-
-Notify node
-~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **notify** node is used to inform an external application (e.g. A&AI)
-that a resource was updated.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+---------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+---------------------------------------------------------------------+
-| **resource** | Identifies resource that was updated |
-+----------------+---------------------------------------------------------------------+
-| **action** | Action that triggered notification to be sent (ADD/UPDATE/DELETE) |
-+----------------+---------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-+---------------+----------------------------------------+
-| **success** | Notification was successful |
-+---------------+----------------------------------------+
-| **failure** | Notification failed is not available |
-+---------------+----------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <notify plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- action="ADD">
- <outcome value="success">
- <return status="success"/>
- </outcome>
- <outcome value="Other">
- <return status="failure"/>
- </outcome>
- </notify>
-
-Release node
-~~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **release** node is used to mark a resource as no longer in use, and
-thus available for assignment.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+------------------------------------------------------------------+
-| **resource** | Type of resource to release |
-+----------------+------------------------------------------------------------------+
-| **key** | SQL-like string specifying key to check of resource to release |
-+----------------+------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-+-----------------+-------------------------------------------------+
-| **success** | Resource successfully released |
-+-----------------+-------------------------------------------------+
-| **not-found** | Resource referenced does not exist |
-+-----------------+-------------------------------------------------+
-| **failure** | Resource release failed for some other reason |
-+-----------------+-------------------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <release plugin="org.onap.ccsdk.sli.adaptors.SampleServiceResource"
- resource="ase-port"
- key="uni_circuit_id == $uni-circuit-id">
- <outcome value="success">
- <return status="success"/>
- </outcome>
- <outcome value="not-found">
- <return status="failure"/>
- </outcome>
- <outcome value="failure">
- <return status="failure"/>
- </outcome>
- </release>
-
-Reserve node
-~~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **reserve** node is used to reserve a particular type of resource..
-For example, this might be used to reserve a port on a particular
-switch.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+----------------------------------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+----------------------------------------------------------------------------------------------+
-| **resource** | Type of resource to reserve |
-+----------------+----------------------------------------------------------------------------------------------+
-| **key** | SQL-like string specifying criteria for reservation |
-+----------------+----------------------------------------------------------------------------------------------+
-| **select** | String to specify, if **key** matches multiple entries, which entry should take precedence |
-+----------------+----------------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-None
-
-Outcomes
-^^^^^^^^
-
-+---------------+----------------------------------------------------+
-| **success** | Resource requested was successfully reserved |
-+---------------+----------------------------------------------------+
-| **failure** | Resource requested was not successfully reserved |
-+---------------+----------------------------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <reserve plugin="org.onap.ccsdk.sli.adaptors.samplesvc.SampleServiceResource"
- resource="ase-port"
- key="resource-emt-clli == $edge-device-clli and speed >= $uni-cir-value"
- select="min(speed)">
- <outcome value="success">
- <return status="success"/>
- </outcome>
- <outcome value="failure">
- <return status="failure"/>
- </outcome>
- </reserve>
-
-Save node
-~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-A **save** node is used to save information about a particular resource
-to persistent storage. For example, this might be used to save
-information about a particular uni-port.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+------------------------------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+------------------------------------------------------------------------------------------+
-| **resource** | Type of resource to save |
-+----------------+------------------------------------------------------------------------------------------+
-| **key** | SQL-like string specifying criteria for retrieval |
-+----------------+------------------------------------------------------------------------------------------+
-| **force** | If "true", save resource even if this resource is already stored in persistent storage |
-+----------------+------------------------------------------------------------------------------------------+
-| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext |
-+----------------+------------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-Values to save (columns) are specified as parameters, with each name
-corresponding to a column name and each value corresponding to the value
-to set.
-
-Outcomes
-^^^^^^^^
-
-+---------------+-------------------------------+
-| **success** | Resource successfully saved |
-+---------------+-------------------------------+
-| **failure** | Resource save failed |
-+---------------+-------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <save plugin="`$sample-resource-plugin`" resource="vnf"
- key="vnf-name = $requests.vnf.vnf-name" force="true"
- pfx="requests.vnf">
- <parameter name="vnf-name"
- value="`$requests.cust-country-code + $requests.cust-id + $requests.cust-city + $requests.cust-state + '001VCE'`" />
- <parameter name="vnf-type" value="vce" />
- <parameter name="orchestration-status" value="pending-create" />
- <parameter name="heat-stack-id" value="`$requests.heat-stack-id`" />
- <parameter name="mso-catalog-key" value="`$requests.mso-catalog-key`" />
- <parameter name="oam-ipv4-address" value="`$vce-ipv4-oam-addr.ipv4-addr`" />
- </save>
-
-Update node
-~~~~~~~~~~~
-
-Description
-^^^^^^^^^^^
-
-An **update** node is used to update information about a particular
-resource to persistent storage.
-
-Attributes
-^^^^^^^^^^
-
-+----------------+----------------------------------------------------------------------------------------+
-| **plugin** | Fully qualified Java class of resource adaptor to be used |
-+----------------+----------------------------------------------------------------------------------------+
-| **resource** | Type of resource to update |
-+----------------+----------------------------------------------------------------------------------------+
-| **key** | SQL-like string specifying criteria for retrieval |
-+----------------+----------------------------------------------------------------------------------------+
-| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext |
-+----------------+----------------------------------------------------------------------------------------+
-
-Parameters
-^^^^^^^^^^
-
-Values to save (columns) are specified as parameters, with each name
-corresponding to a column name and each value corresponding to the value
-to set.
-
-Outcomes
-^^^^^^^^
-
-+---------------+-------------------------------+
-| **success** | Resource successfully saved |
-+---------------+-------------------------------+
-| **failure** | Resource save failed |
-+---------------+-------------------------------+
-
-Example
-^^^^^^^
-
-::
-
- <update plugin="`$sample-resource-plugin`" resource="vnf"
- key="vnf-name = $requests.vnf.vnf-name"
- pfx="requests.vnf">
- <parameter name="vnf-name"
- value="`$requests.cust-country-code + $requests.cust-id + $requests.cust-city + $requests.cust-state + '001VCE'`" />
- <parameter name="vnf-type" value="vce" />
- <parameter name="orchestration-status" value="pending-create" />
- <parameter name="heat-stack-id" value="`$requests.heat-stack-id`" />
- <parameter name="mso-catalog-key" value="`$requests.mso-catalog-key`" />
- <parameter name="oam-ipv4-address" value="`$vce-ipv4-oam-addr.ipv4-addr`" />
- </update>