Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_get-complex-resource-service-model.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='get-complex-resource-service-model' mode='sync'>\r
5         <block atomic="true">\r
6             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
7   key='SELECT * from COMPLEX_RESOURCE \r
8   WHERE customization_uuid = $get-complex-resource-service-model-input.customization-uuid'\r
9   pfx='db.complex-resource'>\r
10                 <outcome value='not-found'>\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="`'No complex resource found for customization UUID ' + $get-complex-resource-service-model-input.customization-uuid`" />\r
15                     </return>\r
16                 </outcome>\r
17                 <outcome value='failure'>\r
18                     <return status='failure'>\r
19                         <parameter name='ack-final' value='Y'/>\r
20                         <parameter name="error-code" value="500" />\r
21                         <parameter name="error-message" value="`'No complex resource found for customization UUID ' + $get-complex-resource-service-model-input.customization-uuid`" />\r
22                     </return>\r
23                 </outcome>\r
24             </get-resource>\r
25             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
26   key='SELECT * from ATTRIBUTE_VALUE_PAIR \r
27   WHERE resource_uuid = $db.complex-resource.uuid\r
28   and resource_type = $db.complex-resource.type'\r
29   pfx='db.av-pair'>\r
30                 <outcome value='not-found'>\r
31                     <return status='failure'>\r
32                         <parameter name='ack-final' value='Y'/>\r
33                         <parameter name="error-code" value="500" />\r
34                         <parameter name="error-message" value="`'No attribute found for customization UUID ' + $get-complex-resource-service-model-input.customization-uuid`" />\r
35                     </return>\r
36                 </outcome>\r
37                 <outcome value='failure'>\r
38                     <return status='failure'>\r
39                         <parameter name='ack-final' value='Y'/>\r
40                         <parameter name="error-code" value="500" />\r
41                         <parameter name="error-message" value="`'No attribute found for customization UUID ' + $get-complex-resource-service-model-input.customization-uuid`" />\r
42                     </return>\r
43                 </outcome>\r
44                 <outcome value='success'>\r
45                     <for silentFailure='true' index='idx' start='0' end='`$db.av-pair_length`' >\r
46                         <block atomic='true'>\r
47                             <switch test="`$db.sdn-circuit-req[$idx].attribute-name == 'cr_function' `">\r
48                                 <outcome value='true'>\r
49                                     <set>\r
50                                         <parameter name='get-complex-resource-service-model-output.cr-function' value='`$db.sdn-circuit-req[$idx].attribute-value`' />\r
51                                     </set>\r
52                                 </outcome>\r
53                             </switch>\r
54                             <switch test="`$db.sdn-circuit-req[$idx].attribute-name == 'cr_role'`">\r
55                                 <outcome value='true'>\r
56                                     <set>\r
57                                         <parameter name="get-complex-resource-service-model-output.cr-role" value="`$db.sdn-circuit-req[$idx].attribute-value`" />\r
58                                     </set>\r
59                                 </outcome>\r
60                             </switch>\r
61                             <switch test="`$db.sdn-circuit-req[$idx].attribute-name == 'cr_type'`">\r
62                                 <outcome value='true'>\r
63                                     <set>\r
64                                         <parameter name="get-complex-resource-service-model-output.cr-type" value="`$db.sdn-circuit-req[$idx].attribute-value`" />\r
65                                     </set>\r
66                                 </outcome>\r
67                             </switch>\r
68                             <switch test="`$db.sdn-circuit-req[$idx].attribute-name == 'network_collection_function'`">\r
69                                 <outcome value='true'>\r
70                                     <set>\r
71                                         <parameter name="get-complex-resource-service-model-output.network-collection-function" value="`$db.sdn-circuit-req[$idx].attribute-value`" />\r
72                                     </set>\r
73                                 </outcome>\r
74                             </switch>\r
75                             <switch test="`$db.sdn-circuit-req[$idx].attribute-name == 'network_collection_description'`">\r
76                                 <outcome value='true'>\r
77                                     <set>\r
78                                         <parameter name="get-complex-resource-service-model-output.network-collection-description" value="`$db.sdn-circuit-req[$idx].attribute-value`" />\r
79                                     </set>\r
80                                 </outcome>\r
81                             </switch>\r
82                             <switch test="`$db.sdn-circuit-req[$idx].attribute-name == 'subinterface_network_quantity'`">\r
83                                 <outcome value='true'>\r
84                                     <set>\r
85                                         <parameter name="get-complex-resource-service-model-output.subinterface-network-quantity" value="`$db.sdn-circuit-req[$idx].attribute-value`" />\r
86                                     </set>\r
87                                 </outcome>\r
88                             </switch>\r
89                         </block>\r
90                     </for>\r
91                 </outcome>\r
92             </get-resource>\r
93             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
94   key='SELECT * from NETWORK_MODEL \r
95   WHERE complex_resource_uuid = $db.complex-resource.uuid'\r
96   pfx='db.network-model'>\r
97                 <outcome value='not-found'>\r
98                     <return status='failure'>\r
99                         <parameter name='ack-final' value='Y'/>\r
100                         <parameter name="error-code" value="500" />\r
101                         <parameter name="error-message" value="No network model found" />\r
102                     </return>\r
103                 </outcome>\r
104                 <outcome value='failure'>\r
105                     <return status='failure'>\r
106                         <parameter name='ack-final' value='Y'/>\r
107                         <parameter name="error-code" value="500" />\r
108                         <parameter name="error-message" value="No network model found" />\r
109                     </return>\r
110                 </outcome>\r
111             </get-resource>\r
112             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
113   key='SELECT * from RESOURCE_POLICY_TO_TARGET_NODE_MAPPING\r
114   WHERE target_node_uuid = $db.network-model.uuid\r
115   AND target_node_customization_uuid = db.network-model.customization-uuid'\r
116   pfx='db.respoltargetnodemap' >\r
117                 <outcome value='not-found'>\r
118                     <return status='failure'>\r
119                         <parameter name='ack-final' value='Y'/>\r
120                         <parameter name="error-code" value="500" />\r
121                         <parameter name="error-message" value="No resource_policy_to_target_node_mapping found"  />\r
122                     </return>\r
123                 </outcome>\r
124                 <outcome value='failure'>\r
125                     <return status='failure'>\r
126                         <parameter name='ack-final' value='Y'/>\r
127                         <parameter name="error-code" value="500" />\r
128                         <parameter name="error-message" value="No resource_policy_to_target_node_mapping found"  />\r
129                     </return>\r
130                 </outcome>\r
131             </get-resource>\r
132             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
133   key="SELECT * from RESOURCE_POLICY  \r
134   WHERE policy_uuid = $db.respoltargetnodemap.policy_uuid\r
135   and policy_type = 'ecomp.policies.External' "\r
136   pfx='db.resource-policy'>\r
137                 <outcome value='not-found'>\r
138                     <return status='failure'>\r
139                         <parameter name='ack-final' value='Y'/>\r
140                         <parameter name="error-code" value="500" />\r
141                         <parameter name="error-message" value="`'No complex resource found for customization UUID ' + $get-complex-resource-service-model-input.customization-uuid`" />\r
142                     </return>\r
143                 </outcome>\r
144                 <outcome value='failure'>\r
145                     <return status='failure'>\r
146                         <parameter name='ack-final' value='Y'/>\r
147                         <parameter name="error-code" value="500" />\r
148                         <parameter name="error-message" value="`'No complex resource found for customization UUID ' + $get-complex-resource-service-model-input.customization-uuid`" />\r
149                     </return>\r
150                 </outcome>\r
151                 <outcome value='success'>\r
152                     <for silentFailure='true' index='idx' start='0' end='`$db.resource-policy_length`' >\r
153                         <block atomic='true'>\r
154                             <switch test="`$db.resource-policy[$idx].property-type == 'Name' and $db.resource-policy[$idx].property-name == 'Network Collection Name'`">\r
155                                 <outcome value='true'>\r
156                                     <set>\r
157                                         <parameter name="get-complex-resource-service-model-output.network-naming-policy" value="`$db.resource-policy[$idx].policy-name`" />\r
158                                     </set>\r
159                                 </outcome>\r
160                             </switch>\r
161                             <switch test="`$db.resource-policy[$idx].property-type == 'subnetwork assignments' and $db.resource-policy[$idx].property-name == 'subnet'`">\r
162                                 <outcome value='true'>\r
163                                     <set>\r
164                                         <parameter name="get-complex-resource-service-model-output.subnet-assignment-policy" value="`$db.resource-policy[$idx].policy-name`" />\r
165                                     </set>\r
166                                 </outcome>\r
167                             </switch>\r
168                             <switch test="`$db.resource-policy[$idx].property-type == 'network assignments' and $db.resource-policy[$idx].property-name == 'route target'`">\r
169                                 <outcome value='true'>\r
170                                     <set>\r
171                                         <parameter name="get-complex-resource-service-model-output.vpn-binding-policy" value="`$db.resource-policy[$idx].policy-name`" />\r
172                                     </set>\r
173                                 </outcome>\r
174                             </switch>\r
175                         </block>\r
176                     </for>\r
177                 </outcome>\r
178             </get-resource>\r
179         </block>\r
180     </method>\r
181 </service-logic>