2 xmlns='http://www.onap.org/sdnc/svclogic'
\r
3 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
\r
4 <method rpc='naming-policy-generate-unique-name' mode='sync'>
\r
5 <block atomic="true">
\r
6 <switch test='`$generate-unique-name-input.action`'>
\r
8 <return status='failure'>
\r
9 <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.action not supplied' />
\r
12 <outcome value='ASSIGN'>
\r
13 <block atomic="true">
\r
14 <switch test='`$generate-unique-name-input.context-id`'>
\r
16 <return status='failure'>
\r
17 <parameter name='error-message'
\r
18 value="generate-unique-name-input.context-id cannot be null for ASSIGN action" />
\r
22 <switch test='`$generate-unique-name-input.name-table-type`'>
\r
24 <return status='failure'>
\r
25 <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.name-table-type not supplied' />
\r
28 <outcome value='VNF_INSTANCE'>
\r
30 <parameter name='tmp.gname.custom-query-string' value='nodes/generic-vnfs?vnf-name=' />
\r
33 <outcome value='VM_INSTANCE'>
\r
35 <parameter name='tmp.gname.custom-query-string' value='nodes/vservers?vserver-name=' />
\r
38 <outcome value='NETWORK_INSTANCE'>
\r
40 <parameter name='tmp.gname.custom-query-string' value='nodes/l3-networks?network-name=' />
\r
43 <outcome value='SERVICE_INSTANCE'>
\r
45 <parameter name='tmp.gname.custom-query-string' value='nodes/service-instances?service-instance-name=' />
\r
48 <outcome value='VNFC_INSTANCE'>
\r
50 <parameter name='tmp.gname.custom-query-string' value='nodes/vnfcs?vnfc-name=' />
\r
55 <parameter name='tmp.gun.nononap' value='NON-ONAP' />
\r
58 <parameter name='tmp.gun.transient' value='TRANSIENT' />
\r
61 <parameter name='tmp.grn.loop.flag' value='true' />
\r
63 <while test='`$tmp.grn.loop.flag`'>
\r
64 <block atomic="true">
\r
65 <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
\r
66 <outcome value='failure'>
\r
67 <block atomic="true">
\r
69 <parameter name='tmp.grn.loop.flag' value='false' />
\r
71 <return status='failure'>
\r
72 <parameter name='error-message'
\r
73 value="`'Encountered error in naming-policy-generate-unique-name: ' +
\r
74 $generate-unique-name-output.error-message`" />
\r
79 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="urlEncode">
\r
80 <parameter name="source" value='`$generate-unique-name-output.generated-name`'/>
\r
81 <parameter name="outputPath" value="encoded-name" />
\r
83 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
84 resource="custom-query"
\r
85 key="format = 'resource'"
\r
88 pfx="tmp.nodes-query">
\r
89 <parameter name="start[0]" value="`$tmp.gname.custom-query-string +
\r
91 <parameter name="start_length" value="1" />
\r
92 <outcome value='not-found'>
\r
94 <parameter name='tmp.grn.loop.flag' value='false' />
\r
97 <outcome value='failure'>
\r
98 <block atomic='true'>
\r
100 <parameter name='tmp.grn.loop.flag' value='false' />
\r
102 <return status='failure'>
\r
103 <parameter name='error-message'
\r
104 value="`'Error updating GENERIC_RESOURCE_NAME.context_id from TRANSIENT to '
\r
105 + $tmp.context-id.nononap`" />
\r
109 <outcome value='success'>
\r
110 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
111 key="update GENERIC_RESOURCE_NAME set context_id = $tmp.gun.nononap
\r
112 WHERE type = $generate-unique-name-input.name-table-type
\r
113 AND context_id = $tmp.gun.transient">
\r
114 <outcome value='failure'>
\r
115 <return status='failure'>
\r
116 <parameter name='error-message'
\r
117 value="`'Error updating GENERIC_RESOURCE_NAME.context_id from TRANSIENT to '
\r
118 + $tmp.context-id.nononap`" />
\r
121 <outcome value='not-found'>
\r
122 <return status='failure'>
\r
123 <parameter name='error-message'
\r
124 value="`'No GENERIC_RESOURCE_NAME found with context_id = TRANSIENT and type = '
\r
125 + $generate-unique-name-input.name-table-type`"/>
\r
133 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
134 key="update GENERIC_RESOURCE_NAME set context_id = $generate-unique-name-input.context-id
\r
135 WHERE type = $generate-unique-name-input.name-table-type
\r
136 AND name = $generate-unique-name-output.generated-name
\r
137 AND context_id = $tmp.gun.transient">
\r
138 <outcome value='failure'>
\r
139 <return status='failure'>
\r
140 <parameter name='error-message'
\r
141 value="`'Error updating GENERIC_RESOURCE_NAME.context_id from TRANSIENT to '
\r
142 + $tmp.context-id.nononap`" />
\r
145 <outcome value='not-found'>
\r
146 <return status='failure'>
\r
147 <parameter name='error-message'
\r
148 value="`'No GENERIC_RESOURCE_NAME found with context_id = TRANSIENT and type = '
\r
149 + $generate-unique-name-input.name-table-type`"/>
\r
155 <outcome value='DELETE'>
\r
156 <block atomic='true'>
\r
158 <parameter name='rollback-generated-names-input.naming-type' value='`$generate-unique-name-input.name-table-type`' />
\r
161 <parameter name='rollback-generated-names-input.context-id' value='`$generate-unique-name-input.context-id`' />
\r
163 <call module='GENERIC-RESOURCE-API' rpc='rollback-generated-names' mode='sync' >
\r
164 <outcome value='failure'>
\r
165 <return status='failure'>
\r
166 <parameter name='error-message'
\r
167 value="`'Encountered error in rollback-generated-names: ' +
\r
168 $error-message`" />
\r
174 <outcome value='Other'>
\r
175 <return status='failure'>
\r
176 <parameter name='generate-unique-name-output.error-message' value='Invalid generate-unique-name-input.action. Valid values are ASSIGN or DELETE' />
\r