Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / csit / plans / sdnc / testdata / GENERIC-RESOURCE-API_service-topology-operation-assign.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='aai-disabled'>\r
4     <method rpc='service-topology-operation-assign' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$service-topology-operation-input.request-information.request-action`'>\r
7                 <outcome value='CreateServiceInstance'>\r
8                     <block></block>\r
9                 </outcome>\r
10                 <outcome value='Other'>\r
11                     <return status='failure'>\r
12                         <parameter name='ack-final' value='Y'/>\r
13                         <parameter name="error-code" value="500" />\r
14                         <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateServiceInstance'" />\r
15                     </return>\r
16                 </outcome>\r
17             </switch>\r
18             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
19   key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-topology-operation-input.service-information.onap-model-information.model-uuid'\r
20   pfx='db.service-model'>\r
21                 <outcome value='failure'>\r
22                     <return status='failure'>\r
23                         <parameter name='ack-final' value='Y'/>\r
24                         <parameter name="error-code" value="500" />\r
25                         <parameter name="error-message" value="Error reading SERVICE_MODEL table" />\r
26                     </return>\r
27                 </outcome>\r
28                 <outcome value='not-found'>\r
29                     <return status='failure'>\r
30                         <parameter name='ack-final' value='Y'/>\r
31                         <parameter name="error-code" value="500" />\r
32                         <parameter name="error-message" value="`'No model found for service UUID ' + $service-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
33                     </return>\r
34                 </outcome>\r
35             </get-resource>\r
36             <set>\r
37                 <parameter name='tmp.service-instance-name' value='' />\r
38             </set>\r
39             <switch test='`$service-topology-operation-input.service-request-input.service-instance-name`'>\r
40                 <outcome value=''>\r
41                     <block atomic="true">\r
42                         <switch test='`$db.service-model.ecomp-naming`'>\r
43                             <outcome value='Y'>\r
44                                 <block></block>\r
45                             </outcome>\r
46                             <outcome value='N'>\r
47                                 <return status='failure'>\r
48                                     <parameter name='ack-final' value='Y'/>\r
49                                     <parameter name="error-code" value="500" />\r
50                                     <parameter name="error-message" value="No service-instance-name was received but ecomp-naming is not Y" />\r
51                                 </return>\r
52                             </outcome>\r
53                             <outcome value='Other'>\r
54                                 <return status='failure'>\r
55                                     <parameter name='ack-final' value='Y'/>\r
56                                     <parameter name="error-code" value="500" />\r
57                                     <parameter name="error-message" value="No service-instance-name was received but ecomp-naming is not Y" />\r
58                                 </return>\r
59                             </outcome>\r
60                         </switch>\r
61                         <switch test='`$db.service-model.naming-policy`'>\r
62                             <outcome value=''>\r
63                                 <block atomic="true">\r
64                                     <set>\r
65                                         <parameter name='generate-unique-name-input.action' value='ASSIGN' />\r
66                                         <parameter name='generate-unique-name-input.context-id' value='`$service-topology-operation-input.service-information.service-instance-id`' />\r
67                                         <parameter name='generate-unique-name-input.index-table-name' value='SERVICE_INSTANCE_NAME_INDEX' />\r
68                                         <parameter name='generate-unique-name-input.index-table-prefix-column' value='service_instance_name_prefix' />\r
69                                         <parameter name='generate-unique-name-input.name-table-type' value='SERVICE_INSTANCE' />\r
70                                         <parameter name='generate-unique-name-input.prefix' value="`$db.service-model.service-instance-name-prefix + '_'`" />\r
71                                     </set>\r
72                                     <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
73                                         <outcome value='failure'>\r
74                                             <return status='failure'>\r
75                                                 <parameter name='ack-final' value='Y'/>\r
76                                                 <parameter name="error-code" value="500" />\r
77                                                 <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
78                                             </return>\r
79                                         </outcome>\r
80                                         <outcome value='success'>\r
81                                             <set>\r
82                                                 <parameter name='tmp.service-instance-name' value='`$generate-unique-name-output.generated-name`' />\r
83                                             </set>\r
84                                         </outcome>\r
85                                     </call>\r
86                                 </block>\r
87                             </outcome>\r
88                             <outcome value='Other'>\r
89                                 <block atomic="true">\r
90                                     <set>\r
91                                         <parameter name='generated-via-policy' value='true' />\r
92                                     </set>\r
93                                     <set>\r
94                                         <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.service-model.naming-policy`' />\r
95                                         <parameter name='naming-policy-generate-name-input.naming-type' value='SERVICE' />\r
96                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$service-topology-operation-input.service-information.service-instance-id`' />\r
97                                         <parameter name='naming-policy-generate-name-input.query-parameter' value='`$db.service-model.service-uuid`' />\r
98                                         <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\r
99                                     </set>\r
100                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\r
101                                         <outcome value='failure'>\r
102                                             <return status='failure'>\r
103                                                 <parameter name='ack-final' value='Y'/>\r
104                                                 <parameter name="error-code" value="500" />\r
105                                                 <parameter name="error-message" value="Unable to generate service name" />\r
106                                             </return>\r
107                                         </outcome>\r
108                                         <outcome value='success'>\r
109                                             <set>\r
110                                                 <parameter name='tmp.service-instance-name' value='`$naming-policy-generate-name-output.service-name`' />\r
111                                             </set>\r
112                                         </outcome>\r
113                                     </call>\r
114                                 </block>\r
115                             </outcome>\r
116                         </switch>\r
117                     </block>\r
118                 </outcome>\r
119                 <outcome value='Other'>\r
120                     <block atomic="true">\r
121                         <set>\r
122                             <parameter name='generate-unique-name-input.name-table-type' value='SERVICE_INSTANCE' />\r
123                             <parameter name='generate-unique-name-input.supplied-name' value='`$service-topology-operation-input.service-request-input.service-instance-name`' />\r
124                             <parameter name='generate-unique-name-input.service-instance-id' value='`$service-topology-operation-input.service-information.service-instance-id`' />\r
125                         </set>\r
126                         <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
127                             <outcome value='failure'>\r
128                                 <return status='failure'>\r
129                                     <parameter name='ack-final' value='Y'/>\r
130                                     <parameter name="error-code" value="500" />\r
131                                     <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
132                                 </return>\r
133                             </outcome>\r
134                             <outcome value='success'>\r
135                                 <set>\r
136                                     <parameter name='tmp.service-instance-name' value="`$service-topology-operation-input.service-request-input.service-instance-name`" />\r
137                                 </set>\r
138                             </outcome>\r
139                         </call>\r
140                     </block>\r
141                 </outcome>\r
142             </switch>\r
143             <set>\r
144                 <parameter name='service-object-path'\r
145  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
146  + $service-topology-operation-input.service-information.service-instance-id\r
147  + '/service-data/service-topology/'`"/>\r
148             </set>\r
149             <set>\r
150                 <parameter name='service-data.service-topology.service-topology-identifier.service-instance-id'\r
151   value='`$service-topology-operation-input.service-information.service-instance-id`' />\r
152                 <parameter name='service-data.service-topology.service-topology-identifier.service-type'\r
153   value='`$service-topology-operation-input.service-information.subscription-service-type`' />\r
154                 <parameter name='service-data.service-topology.service-topology-identifier.service-instance-name'\r
155   value='`$tmp.service-instance-name`' />\r
156                 <parameter name='service-data.service-topology.service-topology-identifier.global-customer-id'\r
157   value='`$service-topology-operation-input.service-information.global-customer-id`' />\r
158             </set>\r
159             <set>\r
160                 <parameter name='service-data.service-topology.onap-model-information.'\r
161   value='`$service-topology-operation-input.service-information.onap-model-information.`' />\r
162             </set>\r
163             <switch test='`$service-topology-operation-input.service-request-input.service-input-parameters.param_length`'>\r
164                 <outcome value=''>\r
165                     <block></block>\r
166                 </outcome>\r
167                 <outcome value='Other'>\r
168                     <for index='idx' start='0' end='`$service-topology-operation-input.service-request-input.service-input-parameters.param_length`' >\r
169                         <set>\r
170                             <parameter name='service-data.service-topology.service-parameters[$idx].service-parameter-name'\r
171   value='`$service-topology-operation-input.service-request-input.service-input-parameters.param[$idx].name`' />\r
172                             <parameter name='service-data.service-topology.service-parameters[$idx].service-parameter-value'\r
173   value='`$service-topology-operation-input.service-request-input.service-input-parameters.param[$idx].value`' />\r
174                         </set>\r
175                     </for>\r
176                 </outcome>\r
177             </switch>\r
178             <set>\r
179                 <parameter name='service-data.service-level-oper-status.order-status' value='Created' />\r
180                 <parameter name='service-data.service-level-oper-status.last-rpc-action' value='assign' />\r
181                 <parameter name='service-data.service-level-oper-status.last-action' value='CreateServiceInstance' />\r
182             </set>\r
183         </block>\r
184     </method>\r
185 </service-logic>