Merge "DG changes for the closed loop and async support in MDONS"
[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             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
11                 resource="tenant" \r
12                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
13                      cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND\r
14                      tenant.tenant-id = $network-topology-operation-input.network-request-input.tenant"\r
15         pfx='aai.tenant' local-only='false' >\r
16                 <outcome value='success'>\r
17                     <block atomic="true"></block>\r
18                 </outcome>\r
19                 <outcome value='not-found'>\r
20                     <return status='failure'>\r
21                         <parameter name='ack-final' value='Y'/>\r
22                         <parameter name="error-code" value="500" />\r
23                         <parameter name="error-message" value="Tenant not found in AAI" />\r
24                     </return>\r
25                 </outcome>\r
26                 <outcome value='Other'>\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             </get-resource>\r
34             <switch test='`$network-topology-operation-input.network-information.network-id`'>\r
35                 <outcome value=''>\r
36                     <call module='GENERIC-RESOURCE-API' rpc='generate-l3network-network-id' mode='sync' ></call>\r
37                 </outcome>\r
38                 <outcome value='Other'>\r
39                     <set>\r
40                         <parameter name='tmp.return.generate-l3network-network-id.uuid' value='`$network-topology-operation-input.network-information.network-id`' />\r
41                     </set>\r
42                 </outcome>\r
43             </switch>\r
44             <set>\r
45                 <parameter name='tmp.l3-network.network-id' value='`$tmp.return.generate-l3network-network-id.uuid`' />\r
46                 <parameter name='network-topology-operation-input.network-information.network-id' value='`$tmp.return.generate-l3network-network-id.uuid`' />\r
47             </set>\r
48             <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>\r
49                 <outcome value=''>\r
50                     <switch test='`$network-topology-operation-input.network-request-input.network-name`'>\r
51                         <outcome value=''>\r
52                             <block atomic="true">\r
53                                 <switch test='`$network-model.ecomp-generated-naming`'>\r
54                                     <outcome value='Y'>\r
55                                         <block atomic="true">\r
56                                             <set>\r
57                                                 <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$network-model.naming-policy`' />\r
58                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
59                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
60                                                 <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\r
61                                                 <parameter name='naming-policy-generate-name-input.query-parameter' value='`$network-model.customization-uuid`' />\r
62                                             </set>\r
63                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
64                                             <set>\r
65                                                 <parameter name='tmp.network-instance-name' value='`$naming-policy-generate-name-output.network-name`' />\r
66                                                 <parameter name='tmp.l3-network.network-name' value='`$naming-policy-generate-name-output.network-name`' />\r
67                                             </set>\r
68                                             <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign-automated' mode='sync' ></call>\r
69                                         </block>\r
70                                     </outcome>\r
71                                     <outcome value='Other'>\r
72                                         <return status='failure'>\r
73                                             <parameter name='ack-final' value='Y'/>\r
74                                             <parameter name="error-code" value="500" />\r
75                                             <parameter name="error-message" value="Network name is required if onap naming is false" />\r
76                                         </return>\r
77                                     </outcome>\r
78                                 </switch>\r
79                             </block>\r
80                         </outcome>\r
81                         <outcome value='Other'>\r
82                             <block atomic="true">\r
83                                 <set>\r
84                                     <parameter name='tmp.network-instance-name' value="`$network-topology-operation-input.network-request-input.network-name`" />\r
85                                     <parameter name='tmp.l3-network.network-name' value="`$network-topology-operation-input.network-request-input.network-name`" />\r
86                                 </set>\r
87                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign-from-preload' mode='sync' ></call>\r
88                             </block>\r
89                         </outcome>\r
90                     </switch>\r
91                 </outcome>\r
92                 <outcome value='Other'>\r
93                     <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign-vlantagging-instancegroup' mode='sync' ></call>\r
94                 </outcome>\r
95             </switch>\r
96             <return status='success'>\r
97                 <parameter name="ack-final-indicator" value="Y" />\r
98                 <parameter name="error-code" value="200" />\r
99                 <parameter name="error-message" value="`$error-message`" />\r
100             </return>\r
101         </block>\r
102     </method>\r
103 </service-logic>