Add platform DGs to distribution
[ccsdk/distribution.git] / platform-logic / asdc-api / src / main / xml / ASDC-API_vf-license-model-update.xml
diff --git a/platform-logic/asdc-api/src/main/xml/ASDC-API_vf-license-model-update.xml b/platform-logic/asdc-api/src/main/xml/ASDC-API_vf-license-model-update.xml
new file mode 100644 (file)
index 0000000..c6d079c
--- /dev/null
@@ -0,0 +1,78 @@
+<!--
+  ============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
+  limitations under the License.
+  ============LICENSE_END=========================================================
+  -->
+
+<service-logic xmlns="http://www.onap.org/sdnc/svclogic"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module='ASDC-API' version='${project.version}'>
+    <method rpc='vf-license-model-update' mode='sync'>
+        <block>
+            <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+                <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+                <parameter name="field1" value="__TIMESTAMP__"/>
+                <parameter name="field2" value="vf-license-model"/>
+            </record>
+            <set>
+                <parameter name='resource-plugin' value='org.onap.ccsdk.sli.adaptors.gamma.GammaResource' />
+            </set>
+            <switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group_length > 0`'>
+                <outcome value='true'>
+                    <for index='i' start='0' end='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group_length`' >
+                        <block>
+                            <switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].license-key-group-list.license-key-group_length == 0`'>
+                                <outcome value='true'>
+                                    <set>
+                                        <parameter name='tmp-license-required' value='0' />
+                                        <parameter name='tmp-license-group' value='NONE' />
+                                    </set>
+                                </outcome>
+                                <outcome value='false'>
+                                    <set>
+                                        <parameter name='tmp-license-required' value='1' />
+                                        <parameter name='tmp-license-group' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].license-key-group-list.license-key-group[0].license-key-group-uuid`' />
+                                    </set>
+                                </outcome>
+                            </switch>
+                            <switch test='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].entitlement-pool-list.entitlement-pool_length == 0`'>
+                                <outcome value='true'>
+                                    <set>
+                                        <parameter name='tmp-entitlement-required' value='0' />
+                                        <parameter name='tmp-entitlement-group' value='NONE' />
+                                    </set>
+                                </outcome>
+                                <outcome value='false'>
+                                    <set>
+                                        <parameter name='tmp-entitlement-required' value='1' />
+                                        <parameter name='tmp-entitlement-group' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].entitlement-pool-list.entitlement-pool[0].entitlement-pool-uuid`' />
+                                    </set>
+                                </outcome>
+                            </switch>
+                            <save plugin='`$resource-plugin`' resource='vnf-model-licenses' key='att-part-number = $vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].att-part-number and license-assignment-group = $tmp-license-group' force='true'>
+                                <parameter name='att-part-number' value='`$vf-license-model-update-input.vf-license-model.feature-group-list.feature-group[$i].att-part-number`' />
+                                <parameter name='license-assignment-group' value='`$tmp-license-group`'/>
+                                <parameter name='license-required' value='`$tmp-license-required`'/>
+                                <parameter name='entitlement-assignment-group' value='`$tmp-entitlement-group`'/>
+                                <parameter name='entitlement-required' value='`$tmp-entitlement-required`'/>
+                            </save>
+                        </block>
+                    </for>
+                </outcome>
+            </switch>
+        </block>
+    </method>
+</service-logic>