5e1320e8581545f6ea419f949d7924c4c2575ba2
[multicloud/framework.git] / multivimbroker / multivimbroker / forwarder / urls.py
1 # Copyright 2017 Wind River Systems, Inc.
2 # Copyright (c) 2017-2018 VMware, Inc.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #         http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 from django.conf.urls import url
17 from rest_framework.urlpatterns import format_suffix_patterns
18
19 from multivimbroker.forwarder.views import CheckCapacity
20 from multivimbroker.forwarder.views import Extension
21 from multivimbroker.forwarder.views import Forward
22 from multivimbroker.forwarder.views import Identity
23 from multivimbroker.forwarder.views import Registry
24 from multivimbroker.forwarder.views import UnRegistry
25 from multivimbroker.forwarder.views import VIMTypes
26 from multivimbroker.forwarder.views import MultiPartView
27
28 # API v1
29 from multivimbroker.forwarder.views import APIv1CheckCapacity
30 from multivimbroker.forwarder.views import APIv1Extension
31 from multivimbroker.forwarder.views import APIv1Forward
32 from multivimbroker.forwarder.views import APIv1Identity
33 from multivimbroker.forwarder.views import APIv1Registry
34 from multivimbroker.forwarder.views import APIv1UnRegistry
35 from multivimbroker.forwarder.views import APIv1VIMTypes
36 from multivimbroker.forwarder.views import APIv1MultiPartView
37
38 urlpatterns = [
39     url(r'^api/multicloud/v0/vim_types$',
40         VIMTypes.as_view()),
41     url(r'^api/multicloud/v0/check_vim_capacity$',
42         CheckCapacity.as_view()),
43     url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/identity/v3$',
44         Identity.as_view()),
45     url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/identity/v3'
46         r'/auth/tokens$', Identity.as_view()),
47     url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/registry$',
48         Registry.as_view()),
49     url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)$',
50         UnRegistry.as_view()),
51     url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/extensions$',
52         Extension.as_view()),
53     url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/multipart',
54         MultiPartView.as_view()),
55     url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)',
56         Forward.as_view()),
57
58     # API v1
59     url(r'^api/multicloud/v1/vim_types$',
60         APIv1VIMTypes.as_view()),
61     url(r'^api/multicloud/v1/check_vim_capacity$',
62         APIv1CheckCapacity.as_view()),
63     url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
64         r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/identity/v3$',
65         APIv1Identity.as_view()),
66     url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
67         r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/identity/v3'
68         r'/auth/tokens$', APIv1Identity.as_view()),
69     url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
70         r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/registry$',
71         APIv1Registry.as_view()),
72     url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)i'
73         r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)$',
74         APIv1UnRegistry.as_view()),
75     url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
76         r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/extensions$',
77         APIv1Extension.as_view()),
78     url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
79         r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/multipart',
80         APIv1MultiPartView.as_view()),
81     url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
82         r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)',
83         APIv1Forward.as_view()),
84 ]
85
86 urlpatterns = format_suffix_patterns(urlpatterns)