Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_naming-policy-generate-unique-name.xml
1 <service-logic\r
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
7                 <outcome value=''>\r
8                     <return status='failure'>\r
9                         <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.action not supplied' />\r
10                     </return>\r
11                 </outcome>\r
12                 <outcome value='ASSIGN'>\r
13                     <block atomic="true">\r
14                         <switch test='`$generate-unique-name-input.context-id`'>\r
15                             <outcome value=''>\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
19                                 </return>\r
20                             </outcome>\r
21                         </switch>\r
22                         <switch test='`$generate-unique-name-input.name-table-type`'>\r
23                             <outcome value=''>\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
26                                 </return>\r
27                             </outcome>\r
28                             <outcome value='VNF_INSTANCE'>\r
29                                 <set>\r
30                                     <parameter name='tmp.gname.custom-query-string' value='nodes/generic-vnfs?vnf-name=' />\r
31                                 </set>\r
32                             </outcome>\r
33                             <outcome value='VM_INSTANCE'>\r
34                                 <set>\r
35                                     <parameter name='tmp.gname.custom-query-string' value='nodes/vservers?vserver-name=' />\r
36                                 </set>\r
37                             </outcome>\r
38                             <outcome value='NETWORK_INSTANCE'>\r
39                                 <set>\r
40                                     <parameter name='tmp.gname.custom-query-string' value='nodes/l3-networks?network-name=' />\r
41                                 </set>\r
42                             </outcome>\r
43                             <outcome value='SERVICE_INSTANCE'>\r
44                                 <set>\r
45                                     <parameter name='tmp.gname.custom-query-string' value='nodes/service-instances?service-instance-name=' />\r
46                                 </set>\r
47                             </outcome>\r
48                             <outcome value='VNFC_INSTANCE'>\r
49                                 <set>\r
50                                     <parameter name='tmp.gname.custom-query-string' value='nodes/vnfcs?vnfc-name=' />\r
51                                 </set>\r
52                             </outcome>\r
53                         </switch>\r
54                         <set>\r
55                             <parameter name='tmp.gun.nononap' value='NON-ONAP' />\r
56                         </set>\r
57                         <set>\r
58                             <parameter name='tmp.gun.transient' value='TRANSIENT' />\r
59                         </set>\r
60                         <set>\r
61                             <parameter name='tmp.grn.loop.flag' value='true' />\r
62                         </set>\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
68                                             <set>\r
69                                                 <parameter name='tmp.grn.loop.flag' value='false' />\r
70                                             </set>\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
75                                             </return>\r
76                                         </block>\r
77                                     </outcome>\r
78                                 </call>\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
82                                 </execute>\r
83                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
84         resource="custom-query"\r
85       key="format = 'resource'"\r
86       force="true"\r
87       local-only="false"\r
88       pfx="tmp.nodes-query">\r
89                                     <parameter name="start[0]" value="`$tmp.gname.custom-query-string + \r
90                         $encoded-name`" />\r
91                                     <parameter name="start_length" value="1" />\r
92                                     <outcome value='not-found'>\r
93                                         <set>\r
94                                             <parameter name='tmp.grn.loop.flag' value='false' />\r
95                                         </set>\r
96                                     </outcome>\r
97                                     <outcome value='failure'>\r
98                                         <block atomic='true'>\r
99                                             <set>\r
100                                                 <parameter name='tmp.grn.loop.flag' value='false' />\r
101                                             </set>\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
106                                             </return>\r
107                                         </block>\r
108                                     </outcome>\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
119                                                 </return>\r
120                                             </outcome>\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
126                                                 </return>\r
127                                             </outcome>\r
128                                         </update>\r
129                                     </outcome>\r
130                                 </save>\r
131                             </block>\r
132                         </while>\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
143                                 </return>\r
144                             </outcome>\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
150                                 </return>\r
151                             </outcome>\r
152                         </update>\r
153                     </block>\r
154                 </outcome>\r
155                 <outcome value='DELETE'>\r
156                     <block atomic='true'>\r
157                         <set>\r
158                             <parameter name='rollback-generated-names-input.naming-type' value='`$generate-unique-name-input.name-table-type`' />\r
159                         </set>\r
160                         <set>\r
161                             <parameter name='rollback-generated-names-input.context-id' value='`$generate-unique-name-input.context-id`' />\r
162                         </set>\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
169                                 </return>\r
170                             </outcome>\r
171                         </call>\r
172                     </block>\r
173                 </outcome>\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
177                     </return>\r
178                 </outcome>\r
179             </switch>\r
180         </block>\r
181     </method>\r
182 </service-logic>