Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-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='${project.version}'>\r
4     <method rpc='network-topology-operation-assign' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
7                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
8                 <parameter name='contextPrefix' value='prop' />\r
9             </execute>\r
10             <switch test="`$network-topology-operation-input.network-request-input.cloud-owner != ''`">\r
11                 <outcome value='true'>\r
12                     <set>\r
13                         <parameter name='prop.cloud-region.cloud-owner' value='`$network-topology-operation-input.network-request-input.cloud-owner`' />\r
14                     </set>\r
15                 </outcome>\r
16             </switch>\r
17             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
18                 resource="tenant" \r
19                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
20                      cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND\r
21                      tenant.tenant-id = $network-topology-operation-input.network-request-input.tenant"\r
22         pfx='aai.tenant' local-only='false' >\r
23                 <outcome value='success'>\r
24                     <block atomic="true"></block>\r
25                 </outcome>\r
26                 <outcome value='not-found'>\r
27                     <return status='failure'>\r
28                         <parameter name='ack-final' value='Y'/>\r
29                         <parameter name="error-code" value="500" />\r
30                         <parameter name="error-message" value="Tenant not found in AAI" />\r
31                     </return>\r
32                 </outcome>\r
33                 <outcome value='Other'>\r
34                     <return status='failure'>\r
35                         <parameter name='ack-final' value='Y'/>\r
36                         <parameter name="error-code" value="500" />\r
37                         <parameter name="error-message" value="Tenant not found in AAI" />\r
38                     </return>\r
39                 </outcome>\r
40             </get-resource>\r
41             <switch test='`$network-topology-operation-input.network-information.network-id`'>\r
42                 <outcome value=''>\r
43                     <call module='GENERIC-RESOURCE-API' rpc='generate-l3network-network-id' mode='sync' ></call>\r
44                 </outcome>\r
45                 <outcome value='Other'>\r
46                     <set>\r
47                         <parameter name='tmp.return.generate-l3network-network-id.uuid' value='`$network-topology-operation-input.network-information.network-id`' />\r
48                     </set>\r
49                 </outcome>\r
50             </switch>\r
51             <set>\r
52                 <parameter name='tmp.l3-network.network-id' value='`$tmp.return.generate-l3network-network-id.uuid`' />\r
53                 <parameter name='network-topology-operation-input.network-information.network-id' value='`$tmp.return.generate-l3network-network-id.uuid`' />\r
54             </set>\r
55             <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>\r
56                 <outcome value=''>\r
57                     <switch test='`$network-topology-operation-input.network-request-input.network-name`'>\r
58                         <outcome value=''>\r
59                             <block atomic="true">\r
60                                 <switch test='`$network-model.ecomp-generated-naming`'>\r
61                                     <outcome value='Y'>\r
62                                         <block atomic="true">\r
63                                             <set>\r
64                                                 <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$network-model.naming-policy`' />\r
65                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
66                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
67                                                 <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\r
68                                                 <parameter name='naming-policy-generate-name-input.query-parameter' value='`$network-model.customization-uuid`' />\r
69                                             </set>\r
70                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
71                                             <set>\r
72                                                 <parameter name='tmp.network-instance-name' value='`$naming-policy-generate-name-output.network-name`' />\r
73                                                 <parameter name='tmp.l3-network.network-name' value='`$naming-policy-generate-name-output.network-name`' />\r
74                                             </set>\r
75                                             <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign-automated' mode='sync' ></call>\r
76                                         </block>\r
77                                     </outcome>\r
78                                     <outcome value='Other'>\r
79                                         <return status='failure'>\r
80                                             <parameter name='ack-final' value='Y'/>\r
81                                             <parameter name="error-code" value="500" />\r
82                                             <parameter name="error-message" value="Network name is required if onap naming is false" />\r
83                                         </return>\r
84                                     </outcome>\r
85                                 </switch>\r
86                             </block>\r
87                         </outcome>\r
88                         <outcome value='Other'>\r
89                             <block atomic="true">\r
90                                 <set>\r
91                                     <parameter name='tmp.network-instance-name' value="`$network-topology-operation-input.network-request-input.network-name`" />\r
92                                     <parameter name='tmp.l3-network.network-name' value="`$network-topology-operation-input.network-request-input.network-name`" />\r
93                                 </set>\r
94                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign-from-preload' mode='sync' ></call>\r
95                             </block>\r
96                         </outcome>\r
97                     </switch>\r
98                 </outcome>\r
99                 <outcome value='Other'>\r
100                     <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign-vlantagging-instancegroup' mode='sync' ></call>\r
101                 </outcome>\r
102             </switch>\r
103             <return status='success'>\r
104                 <parameter name="ack-final-indicator" value="Y" />\r
105                 <parameter name="error-code" value="200" />\r
106                 <parameter name="error-message" value="`$error-message`" />\r
107             </return>\r
108         </block>\r
109     </method>\r
110 </service-logic>