aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2017-04-25 15:39:48 +0000
committerGerrit Code Review <gerrit@onap.org>2017-04-25 15:39:48 +0000
commit739d7b182b05fb631c4b993e28d8312a4eca6d69 (patch)
tree105efe252daad5a50eed4bc3a04da18693590c57
parent8de1b29633273f8b4787fe732dc6fe220df6dc3f (diff)
parent9d8a306476d16b6b63f4d4c710187fa4dde1b96e (diff)
Merge "[SDNC-7] summary"
-rw-r--r--dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBLIBResourceActivator.java1
-rw-r--r--dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBResourceManager.java1
-rw-r--r--sli/common/src/main/java/org/openecomp/sdnc/sli/MetricLogger.java18
-rw-r--r--src/site/apt/nodes.apt1892
4 files changed, 964 insertions, 948 deletions
diff --git a/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBLIBResourceActivator.java b/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBLIBResourceActivator.java
index ea4c52c..150a9a8 100644
--- a/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBLIBResourceActivator.java
+++ b/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBLIBResourceActivator.java
@@ -96,7 +96,6 @@ public class DBLIBResourceActivator implements BundleActivator {
String regName = jdbcDataSource.getClass().getName();
LOG.info("Registering DBResourceManager service "+regName);
-// registration = ctx.registerService(regName, jdbcDataSource, null);
registration = ctx.registerService(new String[] { regName, DbLibService.class.getName(), "javax.sql.DataSource" }, jdbcDataSource, null);
}
diff --git a/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBResourceManager.java b/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBResourceManager.java
index 3c3ef94..5cf2953 100644
--- a/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBResourceManager.java
+++ b/dblib/provider/src/main/java/org/openecomp/sdnc/sli/resource/dblib/DBResourceManager.java
@@ -818,7 +818,6 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb
public java.util.logging.Logger getParentLogger()
throws SQLFeatureNotSupportedException {
- // TODO Auto-generated method stub
return null;
}
diff --git a/sli/common/src/main/java/org/openecomp/sdnc/sli/MetricLogger.java b/sli/common/src/main/java/org/openecomp/sdnc/sli/MetricLogger.java
index 98513ca..14b1f00 100644
--- a/sli/common/src/main/java/org/openecomp/sdnc/sli/MetricLogger.java
+++ b/sli/common/src/main/java/org/openecomp/sdnc/sli/MetricLogger.java
@@ -54,6 +54,8 @@ public class MetricLogger {
public static final String STATUS_CODE = "X-ECOMP-StatusCode";
public static final String RESPONSE_CODE = "X-ECOMP-ResponseCode";
public static final String RESPONSE_DESCRIPTION = "X-ECOMP-ResponseDescription";
+ public static final String INSTANCE_UUID = "X-ECOMP-InstanceUUID";
+ public static final String CATEGORY_LOG_LEVEL = "X-ECOMP-CategoryLogLevel";
public static final String SEVERITY = "X-ECOMP-Severity";
public static final String SERVER_IP_ADDRESS = "X-ECOMP-ServerIpAddress";
public static final String ELAPSED_TIME = "X-ECOMP-ElapsedTime";
@@ -170,6 +172,22 @@ public class MetricLogger {
MDC.put(RESPONSE_DESCRIPTION, responseDesc);
}
+ public String getInstanceUUID() {
+ return MDC.get(INSTANCE_UUID);
+ }
+
+ private void setInstanceUUID(String instanceUUID) {
+ MDC.put(INSTANCE_UUID, instanceUUID);
+ }
+
+ public String getCategoryLogLevel() {
+ return MDC.get(CATEGORY_LOG_LEVEL);
+ }
+
+ private void setCategoryLogLevel(String categoryLogLevel) {
+ MDC.put(CATEGORY_LOG_LEVEL, categoryLogLevel);
+ }
+
public String getSeverity() {
return MDC.get(SEVERITY);
}
diff --git a/src/site/apt/nodes.apt b/src/site/apt/nodes.apt
index f49ca00..b8ce987 100644
--- a/src/site/apt/nodes.apt
+++ b/src/site/apt/nodes.apt
@@ -1,953 +1,953 @@
-~~~
+~~~
~~ ============LICENSE_START=======================================================
~~ openECOMP : SDN-C
~~ ================================================================================
~~ Copyright (C) 2017 AT&T Intellectual Property. All rights
~~ reserved.
~~ ================================================================================
-~~ Licensed under the Apache License, Version 2.0 (the "License");
-~~ you may not use this file except in compliance with the License.
-~~ You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing, software
-~~ distributed under the License is distributed on an "AS IS" BASIS,
-~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-~~ See the License for the specific language governing permissions and
+~~ Licensed under the Apache License, Version 2.0 (the "License");
+~~ you may not use this file except in compliance with the License.
+~~ You may obtain a copy of the License at
+~~
+~~ http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
~~ limitations under the License.
-~~ ============LICENSE_END=========================================================
-~~~
-
- ---
- Service Logic Interpreter
- ---
- Dan Timoney
- ---
- 2014-11-12
- ---
-
-Supported node types
-
- The following built-in node types are currently supported:
-
- * Flow Control
-
- * {{{Block node}<<block>>}}
-
- * {{{Call node}<<call>>}}
-
- * {{{For node}<<for>>}}
-
- * {{{Return node}<<return>>}}
-
- * {{{Set node}<<set>>}}
-
- * {{{Switch node}<<switch>>}}
-
- * Device Management
-
- * {{{Configure node}<<configure>>}}
-
- * Java Plugin Support
-
- * {{{Execute node}<<execute>>}}
-
- * Recording
-
- * {{{Record node}<<record>>}}
-
- * Resource Management
-
- * {{{Delete node}<<delete>>}}
-
- * {{{Exists node}<<exists>>}}
-
- * {{{Get-resource node}<<get-resource>>}}
-
- * {{{Is-available node}<<is-available>>}}
-
- * {{{Notify node}<<notify>>}}
-
- * {{{Release node}<<release>>}}
-
- * {{{Reserve node}<<reserve>>}}
-
- * {{{Save node}<<save>>}}
-
- * {{{Update node}<<update>>}}
-
-
-* 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.openecomp.sdnc.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
-*----------*---------+
- .
-
-*** 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.openecomp.sdnc.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.adaptor.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.openecomp.sdnc.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.openecomp.sdnc.sli.plugin.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.openecomp.sdnc.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.samplesvc.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.openecomp.sdnc.sli.resource.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>
-+-------------------+
-
+~~ ============LICENSE_END=========================================================
+~~~
+
+ ---
+ Service Logic Interpreter
+ ---
+ Dan Timoney
+ ---
+ 2014-11-12
+ ---
+
+Supported node types
+
+ The following built-in node types are currently supported:
+
+ * Flow Control
+
+ * {{{Block node}<<block>>}}
+
+ * {{{Call node}<<call>>}}
+
+ * {{{For node}<<for>>}}
+
+ * {{{Return node}<<return>>}}
+
+ * {{{Set node}<<set>>}}
+
+ * {{{Switch node}<<switch>>}}
+
+ * Device Management
+
+ * {{{Configure node}<<configure>>}}
+
+ * Java Plugin Support
+
+ * {{{Execute node}<<execute>>}}
+
+ * Recording
+
+ * {{{Record node}<<record>>}}
+
+ * Resource Management
+
+ * {{{Delete node}<<delete>>}}
+
+ * {{{Exists node}<<exists>>}}
+
+ * {{{Get-resource node}<<get-resource>>}}
+
+ * {{{Is-available node}<<is-available>>}}
+
+ * {{{Notify node}<<notify>>}}
+
+ * {{{Release node}<<release>>}}
+
+ * {{{Reserve node}<<reserve>>}}
+
+ * {{{Save node}<<save>>}}
+
+ * {{{Update node}<<update>>}}
+
+
+* 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.openecomp.sdnc.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
+*----------*---------+
+ .
+
+*** 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.openecomp.sdnc.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.adaptor.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.openecomp.sdnc.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.openecomp.sdnc.sli.plugin.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.openecomp.sdnc.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.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.openecomp.sdnc.sli.resource.samplesvc.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.openecomp.sdnc.sli.resource.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>
++-------------------+
+