Add pdp group
[clamp.git] / src / main / resources / clds / camel / rest / clamp-api-v2.xml
1 <rests xmlns="http://camel.apache.org/schema/spring">
2         <rest>
3                 <get
4                         uri="/v2/loop/getAllNames"
5                         outType="java.lang.String[]"
6                         produces="application/json">
7                         <route>
8                                 <to
9                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
10                                 <to
11                                         uri="bean:org.onap.clamp.loop.LoopController?method=getLoopNames()" />
12                         </route>
13                 </get>
14                 <get
15                         uri="/v2/loop/{loopName}"
16                         outType="org.onap.clamp.loop.Loop"
17                         produces="application/json">
18                         <route>
19                                 <to
20                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
21                                 <to
22                                         uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" />
23                         </route>
24                 </get>
25                 <get
26                         uri="/v2/loop/svgRepresentation/{loopName}"
27                         outType="java.lang.String"
28                         produces="application/xml">
29                         <route>
30                                 <to
31                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
32                                 <to
33                                         uri="bean:org.onap.clamp.loop.LoopController?method=getSVGRepresentation(${header.loopName})" />
34                         </route>
35                 </get>
36
37                 <post
38                         uri="/v2/loop/updateGlobalProperties/{loopName}"
39                         type="com.google.gson.JsonObject"
40                         consumes="application/json"
41                         outType="org.onap.clamp.loop.Loop"
42                         produces="application/json">
43                         <route>
44                                 <to
45                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
46                                 <setHeader headerName="GlobalPropertiesJson">
47                                         <simple>${body}</simple>
48                                 </setHeader>
49                                 <to uri="direct:load-loop" />
50                                 <to
51                                         uri="bean:org.onap.clamp.loop.LoopController?method=updateGlobalPropertiesJson(${header.loopName},${header.GlobalPropertiesJson})" />
52                                 <to
53                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Global Properties UPDATED','INFO',${header.LoopObject})" />
54                         </route>
55                 </post>
56                 <post
57                         uri="/v2/loop/updateOperationalPolicies/{loopName}"
58                         type="com.google.gson.JsonArray"
59                         consumes="application/json"
60                         outType="org.onap.clamp.loop.Loop"
61                         produces="application/json">
62                         <route>
63                                 <to
64                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
65                                 <setHeader headerName="OperationalPoliciesArray">
66                                         <simple>${body}</simple>
67                                 </setHeader>
68                                 <to uri="direct:load-loop" />
69                                 <to
70                                         uri="bean:org.onap.clamp.loop.LoopController?method=updateOperationalPolicies(${header.loopName},${header.OperationalPoliciesArray})" />
71                                 <to
72                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational and Guard policies UPDATED','INFO',${header.LoopObject})" />
73                         </route>
74                 </post>
75                 <post
76                         uri="/v2/loop/updateMicroservicePolicy/{loopName}"
77                         type="org.onap.clamp.policy.microservice.MicroServicePolicy"
78                         consumes="application/json"
79                         outType="org.onap.clamp.policy.microservice.MicroServicePolicy"
80                         produces="application/json">
81                         <route>
82                                 <to
83                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
84                                 <setHeader headerName="MicroServicePolicyObject">
85                                         <simple>${body}</simple>
86                                 </setHeader>
87
88                                 <to uri="direct:load-loop" />
89                                 <to
90                                         uri="bean:org.onap.clamp.loop.LoopController?method=updateMicroservicePolicy(${header.loopName},${header.MicroServicePolicyObject})" />
91                                 <to
92                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Micro Service policies UPDATED','INFO',${header.LoopObject})" />
93                         </route>
94                 </post>
95                 <put
96                         uri="/v2/loop/deployLoop/{loopName}"
97                         outType="org.onap.clamp.loop.Loop"
98                         produces="application/json">
99                         <route>
100                                 <to
101                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
102                                 <to
103                                         uri="bean:org.onap.clamp.operation.LoopOperation?method=deployLoop(*,${header.loopName})" />
104                         </route>
105                 </put>
106                 <put
107                         uri="/v2/loop/undeployLoop/{loopName}"
108                         outType="org.onap.clamp.loop.Loop"
109                         produces="application/json">
110                         <route>
111                                 <to
112                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
113                                 <to
114                                         uri="bean:org.onap.clamp.operation.LoopOperation?method=unDeployLoop(${header.loopName})" />
115                         </route>
116                 </put>
117                 <put
118                         uri="/v2/loop/submit/{loopName}"
119                         outType="org.onap.clamp.loop.Loop"
120                         produces="application/json">
121                         <route>
122                                 <log
123                                         loggingLevel="INFO"
124                                         message="Receive SUBMIT request for loop: ${header.loopName}" />
125                                 <to
126                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
127                                 <to uri="direct:load-loop" />
128                                 <to
129                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive SUBMIT request','INFO',${header.LoopObject})" />
130                                 <setHeader headerName="RaiseHttpExceptionFlag">
131                                         <simple resultType="java.lang.Boolean">false</simple>
132                                 </setHeader>
133                                 <to uri="direct:remove-all-policy-from-active-pdp-group" />
134                                 <log
135                                         loggingLevel="INFO"
136                                         message="Processing all MICRO-SERVICES policies defined in loop ${header.LoopObject.getName()}" />
137                                 <split>
138                                         <simple>${header.LoopObject.getMicroServicePolicies()}
139                                         </simple>
140                                         <setHeader headerName="microServicePolicy">
141                                                 <simple>${body}</simple>
142                                         </setHeader>
143                                         <log
144                                                 loggingLevel="INFO"
145                                                 message="Processing Micro Service Policy: ${header.microServicePolicy.getName()}" />
146                                         <setHeader headerName="RaiseHttpExceptionFlag">
147                                                 <simple resultType="java.lang.Boolean">false</simple>
148                                         </setHeader>
149                                         <to uri="direct:delete-micro-service-policy" />
150
151                                         <to uri="direct:create-micro-service-policy" />
152                                 </split>
153
154                                 <log
155                                         loggingLevel="INFO"
156                                         message="Processing all OPERATIONAL policies defined in loop ${header.LoopObject.getName()}" />
157                                 <split>
158                                         <simple>${header.LoopObject.getOperationalPolicies()}
159                                         </simple>
160                                         <setHeader headerName="operationalPolicy">
161                                                 <simple>${body}</simple>
162                                         </setHeader>
163                                         <log
164                                                 loggingLevel="INFO"
165                                                 message="Processing Operational Policy: ${header.operationalPolicy.getName()}" />
166                                         <setHeader headerName="RaiseHttpExceptionFlag">
167                                                 <simple resultType="java.lang.Boolean">false</simple>
168                                         </setHeader>
169                                         <to uri="direct:delete-operational-policy" />
170
171                                         <to uri="direct:create-operational-policy" />
172                                         <log
173                                                 loggingLevel="INFO"
174                                                 message="Processing all GUARD policies defined in loop ${header.LoopObject.getName()}" />
175                                         <split>
176                                                 <simple>${header.operationalPolicy.createGuardPolicyPayloads().entrySet()}
177                                                 </simple>
178                                                 <setHeader headerName="guardPolicy">
179                                                         <simple>${body}</simple>
180                                                 </setHeader>
181                                                 <log
182                                                         loggingLevel="INFO"
183                                                         message="Processing Guard Policy: ${header.guardPolicy.getKey()}" />
184
185                                                 <setHeader headerName="RaiseHttpExceptionFlag">
186                                                         <simple resultType="java.lang.Boolean">false</simple>
187                                                 </setHeader>
188                                                 <to uri="direct:delete-guard-policy" />
189
190                                                 <to uri="direct:create-guard-policy" />
191                                         </split>
192                                 </split>
193                                 <to uri="direct:add-all-to-active-pdp-group" />
194
195                                 <log
196                                         loggingLevel="INFO"
197                                         message="SUBMIT request successfully executed for loop: ${body}" />
198                                 <to
199                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request successfully executed','INFO',${header.LoopObject})" />
200                                 <to
201                                         uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" />
202                         </route>
203                 </put>
204                 <put uri="/v2/loop/delete/{loopName}">
205                         <route>
206                                 <log
207                                         loggingLevel="INFO"
208                                         message="Receive DELETE request for loop: ${header.loopName}" />
209                                 <to
210                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
211                                 <to uri="direct:load-loop" />
212                                 <to
213                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive DELETE request','INFO',${header.LoopObject})" />
214                                 <to uri="direct:remove-all-policy-from-active-pdp-group" />
215                                 <split>
216                                         <simple>${header.LoopObject.getMicroServicePolicies()}
217                                         </simple>
218                                         <setHeader headerName="microServicePolicy">
219                                                 <simple>${body}</simple>
220                                         </setHeader>
221                                         <log
222                                                 loggingLevel="INFO"
223                                                 message="Processing Micro Service Policy: ${header.microServicePolicy.getName()}" />
224
225                                         <to uri="direct:delete-micro-service-policy" />
226                                 </split>
227
228                                 <log
229                                         loggingLevel="INFO"
230                                         message="Processing all OPERATIONAL policies defined in loop ${header.LoopObject.getName()}" />
231                                 <split>
232                                         <simple>${header.LoopObject.getOperationalPolicies()}
233                                         </simple>
234                                         <setHeader headerName="operationalPolicy">
235                                                 <simple>${body}</simple>
236                                         </setHeader>
237                                         <log
238                                                 loggingLevel="INFO"
239                                                 message="Processing Operational Policy: ${header.operationalPolicy.getName()}" />
240
241                                         <to uri="direct:delete-operational-policy" />
242                                         <log
243                                                 loggingLevel="INFO"
244                                                 message="Processing all GUARD policies defined in loop ${header.LoopObject.getName()}" />
245                                         <split>
246                                                 <simple>${header.operationalPolicy.createGuardPolicyPayloads().entrySet()}
247                                                 </simple>
248                                                 <setHeader headerName="guardPolicy">
249                                                         <simple>${body}</simple>
250                                                 </setHeader>
251                                                 <log
252                                                         loggingLevel="INFO"
253                                                         message="Processing Guard Policy: ${header.guardPolicy.getKey()}" />
254
255                                                 <to uri="direct:delete-guard-policy" />
256                                         </split>
257                                 </split>
258                                 <to
259                                         uri="bean:org.onap.clamp.loop.log.LoopService?method=deleteLoop(${header.loopName})" />
260                                 <log
261                                         loggingLevel="INFO"
262                                         message="DELETE request successfully executed for loop: ${body}" />
263                                 <to
264                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request successfully executed','INFO',${header.LoopObject})" />
265                         </route>
266                 </put>
267         </rest>
268 </rests>
269