Fix bug 724
[osm/NBI.git] / osm_nbi / resources_to_operations.yml
1 # Copyright 2018 Whitestack, LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License"); you may
4 # not use this file except in compliance with the License. You may obtain
5 # a copy of the License at
6 #
7 #         http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 # License for the specific language governing permissions and limitations
13 # under the License.
14 #
15 # For those usages not covered by the Apache License, Version 2.0 please
16 # contact: esousa@whitestack.com or glavado@whitestack.com
17 ##
18
19 ---
20 resources_to_operations:
21
22 ##
23 # The resources are defined using the following pattern:
24 #
25 #     "<METHOD> <PATH>": <OPERATION>
26 #
27 # Where <METHOD> refers to the HTTP Method being used, i.e. GET, POST, DELETE.
28 # The <PATH> refers to the path after http(s)://<ip-or-domain>:<port>/osm
29 # In the <PATH> variable parts should be replaced, using the <variable_name>
30 # notation. Inside the RBAC module these variables can be extracted for further
31 # analysis.
32 #
33 # NOTE: the <artifactPath> tag is reserved for artifact path (or file locations).
34 #       meaning that it retains a special meaning.
35 #
36 # Operations are organized in a hierarchical tree, where <OPERATION> defines
37 # the full path until the leaf (all the nodes in between need to be specified).
38 #
39 # NOTE: The end user should not modify this file.
40 ##
41
42 ################################################################################
43 ##################################### NSDs #####################################
44 ################################################################################
45
46   "GET /nsd/v1/ns_descriptors_content": nsds.get
47   "GET /nsd/v1/ns_descriptors": nsds.get
48
49   "POST /nsd/v1/ns_descriptors_content": nsds.content.post
50
51   "GET /nsd/v1/ns_descriptors_content/<nsdInfoId>": nsds.id.get
52   "GET /nsd/v1/ns_descriptors/<nsdInfoId>": nsds.id.get
53
54   "PUT /nsd/v1/ns_descriptors_content/<nsdInfoId>": nsds.id.put
55
56   "DELETE /nsd/v1/ns_descriptors_content/<nsdInfoId>": nsds.id.delete
57   "DELETE /nsd/v1/ns_descriptors/<nsdInfoId>": nsds.id.delete
58
59   "POST /nsd/v1/ns_descriptors": nsds.post
60
61   "PATCH /nsd/v1/ns_descriptors/<nsdInfoId>": nsds.id.patch
62
63   "GET /nsd/v1/ns_descriptors/<nsdInfoId>/nsd_content": nsds.id.content.get
64
65   "PUT /nsd/v1/ns_descriptors/<nsdInfoId>/nsd_content": nsds.id.content.put
66
67   "GET /nsd/v1/ns_descriptors/<nsdInfoId>/nsd": nsds.id.nsd.get
68
69   "GET /nsd/v1/ns_descriptors/<nsdInfoId>/artifacts": nsds.id.nsd_artifact.get
70   "GET /nsd/v1/ns_descriptors/<nsdInfoId>/artifacts/<artifactPath>": nsds.id.nsd_artifact.get
71
72 ################################################################################
73 ##################################### VNFDs ####################################
74 ################################################################################
75
76   "GET /vnfpkgm/v1/vnf_packages_content": vnfds.get
77   "GET /vnfpkgm/v1/vnf_packages": vnfds.get
78
79   "POST /vnfpkgm/v1/vnf_packages_content": vnfds.content.post
80
81   "GET /vnfpkgm/v1/vnf_packages_content/<vnfPkgId>": vnfds.id.get
82   "GET /vnfpkgm/v1/vnf_packages/<vnfPkgId>": vnfds.id.get
83
84   "PUT /vnfpkgm/v1/vnf_packages_content/<vnfPkgId>": vnfds.id.put
85
86   "DELETE /vnfpkgm/v1/vnf_packages_content/<vnfPkgId>": vnfds.id.delete
87   "DELETE /vnfpkgm/v1/vnf_packages/<vnfPkgId>": vnfds.id.delete
88
89   "POST /vnfpkgm/v1/vnf_packages": vnfds.post
90
91   "PATCH /vnfpkgm/v1/vnf_packages/<vnfPkgId>": vnfds.id.patch
92
93   "GET /vnfpkgm/v1/vnf_packages/<vnfPkgId>/package_content": vnfds.id.content.get
94
95   "PUT /vnfpkgm/v1/vnf_packages/<vnfPkgId>/package_content": vnfds.id.content.put
96
97   "POST /vnfpkgm/v1/vnf_packages/<vnfPkgId>/package_content/upload_from_uri": vnfds.id.upload.post
98
99   "GET /vnfpkgm/v1/vnf_packages/<vnfPkgId>/vnfd": vnfds.id.vnfd.get
100
101   "GET /vnfpkgm/v1/vnf_packages/<vnfPkgId>/artifacts": vnfds.id.vnfd_artifact.get
102   "GET /vnfpkgm/v1/vnf_packages/<vnfPkgId>/artifacts/<artifactPath>": vnfds.id.vnfd_artifact.get
103
104 ################################################################################
105 ################################## NS Instances ################################
106 ################################################################################
107
108   "GET /nslcm/v1/ns_instances_content": ns_instances.get
109   "GET /nslcm/v1/ns_instances": ns_instances.get
110
111   "POST /nslcm/v1/ns_instances_content": ns_instances.content.post
112
113   "GET /nslcm/v1/ns_instances_content/<nsInstanceId>": ns_instances.id.get
114   "GET /nslcm/v1/ns_instances/<nsInstanceId>": ns_instances.id.get
115
116   "DELETE /nslcm/v1/ns_instances_content/<nsInstanceId>": ns_instances.id.delete
117   "DELETE /nslcm/v1/ns_instances/<nsInstanceId>": ns_instances.id.delete
118
119   "POST /nslcm/v1/ns_instances": ns_instances.post
120
121   "POST /nslcm/v1/ns_instances/<nsInstanceId>/instantiate": ns_instances.id.instantiate.post
122
123   "POST /nslcm/v1/ns_instances/<nsInstanceId>/terminate": ns_instances.id.terminate.post
124
125   "POST /nslcm/v1/ns_instances/<nsInstanceId>/action": ns_instances.id.action.post
126
127   "POST /nslcm/v1/ns_instances/<nsInstanceId>/scale": ns_instances.id.scale.post
128
129   "GET /nslcm/v1/ns_instances/<nsInstanceId>/ns_lcm_op_occs": ns_instances.id.opps.get
130
131   "GET /nslcm/v1/ns_instances/<nsInstanceId>/ns_lcm_op_occs/<nsLcmOpOccId>": ns_instances.id.opps.id.get
132
133 ################################################################################
134 ################################# VNF Instances ################################
135 ################################################################################
136
137   "GET /nslcm/v1/vnfrs": vnf_instances.get
138   "GET /nslcm/v1/vnf_instances": vnf_instances.get
139
140   "GET /nslcm/v1/vnfrs/<vnfInstanceId>": vnf_instances.id.get
141   "GET /nslcm/v1/vnf_instances/<vnfInstanceId>": vnf_instances.id.get
142
143 ################################################################################
144 #################################### Tokens ####################################
145 ################################################################################
146
147   "GET /admin/v1/tokens": tokens.get
148
149   "POST /admin/v1/tokens": tokens.post
150
151   "DELETE /admin/v1/tokens": tokens.delete
152
153   "GET /admin/v1/tokens/<id>": tokens.id.get
154
155   "DELETE /admin/v1/tokens/<id>": tokens.id.delete
156
157 ################################################################################
158 ##################################### Users ####################################
159 ################################################################################
160
161   "GET /admin/v1/users": users.get
162
163   "POST /admin/v1/users": users.post
164
165   "GET /admin/v1/users/<id>": users.id.get
166
167   "POST /admin/v1/users/<id>": users.id.post
168
169   "PUT /admin/v1/users/<id>": users.id.put
170
171   "DELETE /admin/v1/users/<id>": users.id.delete
172
173   "PATCH /admin/v1/users/<id>": users.id.patch
174
175 ################################################################################
176 #################################### Projects ##################################
177 ################################################################################
178
179   "GET /admin/v1/projects": projects.get
180
181   "POST /admin/v1/projects": projects.post
182
183   "GET /admin/v1/projects/<id>": projects.id.get
184
185   "DELETE /admin/v1/projects/<id>": projects.id.delete
186
187 ################################################################################
188 ##################################### VIMs #####################################
189 ################################################################################
190
191   "GET /admin/v1/vims": vims.get
192
193   "POST /admin/v1/vims": vims.post
194
195   "GET /admin/v1/vims/<id>": vims.id.get
196
197   "PUT /admin/v1/vims/<id>": vims.id.put
198
199   "DELETE /admin/v1/vims/<id>": vims.id.delete
200
201   "PATCH /admin/v1/vims/<id>": vims.id.patch
202
203 ################################################################################
204 ################################## VIM Accounts ################################
205 ################################################################################
206
207   "GET /admin/v1/vim_accounts": vim_accounts.get
208
209   "POST /admin/v1/vim_accounts": vim_accounts.post
210
211   "GET /admin/v1/vim_accounts/<id>": vim_accounts.id.get
212
213   "PUT /admin/v1/vim_accounts/<id>": vim_accounts.id.put
214
215   "DELETE /admin/v1/vim_accounts/<id>": vim_accounts.id.delete
216
217   "PATCH /admin/v1/vim_accounts/<id>": vim_accounts.id.patch
218
219 ################################################################################
220 ################################# SDN Controllers ##############################
221 ################################################################################
222
223   "GET /admin/v1/sdns": sdn_controllers.get
224
225   "POST /admin/v1/sdns": sdn_controllers.post
226
227   "GET /admin/v1/sdns/<id>": sdn_controllers.id.get
228
229   "PUT /admin/v1/sdns/<id>": sdn_controllers.id.put
230
231   "DELETE /admin/v1/sdns/<id>": sdn_controllers.id.delete
232
233   "PATCH /admin/v1/sdns/<id>": sdn_controllers.id.patch
234
235 ################################################################################
236 ##################################### WIMs #####################################
237 ################################################################################
238
239   "GET /admin/v1/wims": wims.get
240
241   "POST /admin/v1/wims": wims.post
242
243   "GET /admin/v1/wims/<id>": wims.id.get
244
245   "PUT /admin/v1/wims/<id>": wims.id.put
246
247   "DELETE /admin/v1/wims/<id>": wims.id.delete
248
249   "PATCH /admin/v1/wims/<id>": wims.id.patch
250
251 ################################################################################
252 ################################## WIM Accounts ################################
253 ################################################################################
254
255   "GET /admin/v1/wim_accounts": wim_accounts.get
256
257   "POST /admin/v1/wim_accounts": wim_accounts.post
258
259   "GET /admin/v1/wim_accounts/<id>": wim_accounts.id.get
260
261   "PUT /admin/v1/wim_accounts/<id>": wim_accounts.id.put
262
263   "DELETE /admin/v1/wim_accounts/<id>": wim_accounts.id.delete
264
265   "PATCH /admin/v1/wim_accounts/<id>": wim_accounts.id.patch
266
267 ################################################################################
268 ##################################### Roles ####################################
269 ################################################################################
270
271   "GET /admin/v1/roles": roles.get
272
273   "POST /admin/v1/roles": roles.post
274
275   "GET /admin/v1/roles/<id>": roles.id.get
276
277   "DELETE /admin/v1/roles/<id>": roles.id.delete
278
279 ################################################################################
280 ##################################### PDUDs ####################################
281 ################################################################################
282
283   "GET /pdu/v1/pdu_descriptors": pduds.get
284
285   "POST /pdu/v1/pdu_descriptors": pduds.post
286
287   "PUT /pdu/v1/pdu_descriptors": pduds.put
288
289   "DELETE /pdu/v1/pdu_descriptors": pduds.delete
290
291   "PATCH /pdu/v1/pdu_descriptors": pduds.patch
292
293   "GET /pdu/v1/pdu_descriptors/<id>": pduds.id.get
294
295   "POST /pdu/v1/pdu_descriptors/<id>": pduds.id.post
296
297   "PUT /pdu/v1/pdu_descriptors/<id>": pduds.id.put
298
299   "DELETE /pdu/v1/pdu_descriptors/<id>": pduds.id.delete
300
301   "PATCH /pdu/v1/pdu_descriptors/<id>": pduds.id.patch
302
303 ################################################################################
304 ############################ Network Slice Templates ###########################
305 ################################################################################
306
307   "GET /nst/v1/netslice_templates_content": slice_templates.get
308   "GET /nst/v1/netslice_templates": slice_templates.get
309
310   "POST /nst/v1/netslice_templates_content": slice_templates.content.post
311
312   "GET /nst/v1/netslice_templates_content/<nstInfoId>": slice_templates.id.get
313   "GET /nst/v1/netslice_templates/<nstInfoId>": slice_templates.id.get
314
315   "PUT /nst/v1/netslice_templates_content/<nstInfoId>": slice_templates.id.put
316
317   "DELETE /nst/v1/netslice_templates_content/<nstInfoId>": slice_templates.id.delete
318   "DELETE /nst/v1/netslice_templates/<nstInfoId>": slice_templates.id.delete
319
320   "PATCH /nst/v1/netslice_templates/<nstInfoId>": slice_templates.id.patch
321
322   "GET /nst/v1/netslice_templates/<nstInfoId>/nst_content": slice_templates.content.get
323
324   "PUT /nst/v1/netslice_templates/<nstInfoId>/nst_content": slice_templates.content.put
325
326   "GET /nst/v1/netslice_templates/<nstInfoId>/nst": slice_templates.id.nst.get
327
328   "GET /nst/v1/netslice_templates/<nstInfoId>/artifacts": slice_templates.id.nst_artifact.get
329   "GET /nst/v1/netslice_templates/<nstInfoId>/artifacts/<artifactPath>": slice_templates.id.nst_artifact.get
330
331 ################################################################################
332 ############################ Network Slice Instances ###########################
333 ################################################################################
334
335   "GET /nsilcm/v1/netslice_instances_content": slice_instances.get
336   "GET /nsilcm/v1/netslice_instances": slice_instances.get
337
338   "POST /nsilcm/v1/netslice_instances_content": slice_instances.content.get
339
340   "GET /nsilcm/v1/netslice_instances_content/<SliceInstanceId>": slice_instances.id.get
341   "GET /nsilcm/v1/netslice_instances/<SliceInstanceId>": slice_instances.id.get
342
343   "DELETE /nsilcm/v1/netslice_instances_content/<SliceInstanceId>": slice_instances.id.delete
344   "DELETE /nsilcm/v1/netslice_instances/<SliceInstanceId>": slice_instances.id.delete
345
346   "POST /nsilcm/v1/netslice_instances": slice_instances.post
347
348   "POST /nsilcm/v1/netslice_instances/<SliceInstanceId>/instantiate": slice_instances.id.instantiate.post
349
350   "POST /nsilcm/v1/netslice_instances/<SliceInstanceId>/terminate": slice_instances.id.terminate.post
351
352   "POST /nsilcm/v1/netslice_instances/<SliceInstanceId>/action": slice_instances.id.action.post
353
354   "GET /nsilcm/v1/netslice_instances/<SliceInstanceId>/nsi_lcm_op_occs": slice_instances.id.opps.get
355
356   "GET /nsilcm/v1/netslice_instances/<SliceInstanceId>/nsi_lcm_op_occs/<nsiLcmOpOccId>": slice_instances.id.opps.id.get