summaryrefslogtreecommitdiffstats
path: root/multivimbroker/multivimbroker/forwarder/urls.py
blob: 75dde71f8c1d98e5ea9ceb902ab4aac4df193731 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Copyright 2017 Wind River Systems, Inc.
# Copyright (c) 2017-2018 VMware, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from django.conf.urls import url
from rest_framework.urlpatterns import format_suffix_patterns

# API v0
from multivimbroker.forwarder.views import CheckCapacity
from multivimbroker.forwarder.views import Extension
from multivimbroker.forwarder.views import Forward
from multivimbroker.forwarder.views import Identity
from multivimbroker.forwarder.views import Registry
from multivimbroker.forwarder.views import UnRegistry
from multivimbroker.forwarder.views import VIMTypes

# API v1
from multivimbroker.forwarder.views import APIv1CheckCapacity
from multivimbroker.forwarder.views import APIv1Extension
from multivimbroker.forwarder.views import APIv1Forward
from multivimbroker.forwarder.views import APIv1Identity
from multivimbroker.forwarder.views import APIv1Registry
from multivimbroker.forwarder.views import APIv1UnRegistry
from multivimbroker.forwarder.views import APIv1VIMTypes
from multivimbroker.forwarder.views import APIv1InfraWorkload

urlpatterns = [
    # API v0
    url(r'^api/multicloud/v0/vim_types$',
        VIMTypes.as_view()),
    url(r'^api/multicloud/v0/check_vim_capacity$',
        CheckCapacity.as_view()),
    url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/identity/v3$',
        Identity.as_view()),
    url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/identity/v3'
        r'/auth/tokens$', Identity.as_view()),
    url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/registry$',
        Registry.as_view()),
    url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)$',
        UnRegistry.as_view()),
    url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)/extensions$',
        Extension.as_view()),
    url(r'^api/multicloud/v0/(?P<vimid>[0-9a-zA-Z_-]+)',
        Forward.as_view()),

    # API v1
    url(r'^api/multicloud/v1/vim_types$',
        APIv1VIMTypes.as_view()),
    url(r'^api/multicloud/v1/check_vim_capacity$',
        APIv1CheckCapacity.as_view()),
    url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
        r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/identity/v3$',
        APIv1Identity.as_view()),
    url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
        r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/identity/v3'
        r'/auth/tokens$', APIv1Identity.as_view()),
    url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
        r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/registry$',
        APIv1Registry.as_view()),
    url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
        r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)$',
        APIv1UnRegistry.as_view()),
    url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
        r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/extensions$',
        APIv1Extension.as_view()),
    url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
        r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/infra_workload',
        APIv1InfraWorkload.as_view()),
    url(r'^api/multicloud/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)'
        r'/(?P<cloud_region_id>[0-9a-zA-Z_-]+)',
        APIv1Forward.as_view()),
]

urlpatterns = format_suffix_patterns(urlpatterns)