blob: ee8d38692d2fe1e07fcf90b2a06dbe10db0a4784 [file] [log] [blame]
Eduardo Sousa29933fc2018-11-14 06:36:35 +00001# 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---
20resources_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