Merge "Add unit test for vnf Grant"
[vfc/nfvo/lcm.git] / lcm / urls.py
1 # Copyright 2016 ZTE Corporation.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain 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,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 from django.conf.urls import include, url
16 from drf_yasg import openapi
17
18 from lcm.pub.config.config import REG_TO_MSB_WHEN_START, REG_TO_MSB_REG_URL, REG_TO_MSB_REG_PARAM
19 from lcm.pub.config.config import DEPLOY_WORKFLOW_WHEN_START
20
21 swagger_info = openapi.Info(
22     title="vfc-nfvo-lcm API",
23     default_version='v1',
24     description="""
25
26 The `swagger-ui` view can be found [here](/cached/swagger).
27 The `ReDoc` view can be found [here](/cached/redoc).
28 The swagger YAML document can be found [here](/cached/swagger.yaml)."""
29 )
30
31 urlpatterns = [
32     url(r'^', include('lcm.samples.urls')),
33     url(r'^', include('lcm.packages.urls')),
34     url(r'^', include('lcm.ns.vnfs.urls')),
35     url(r'^', include('lcm.ns.vls.urls')),
36     url(r'^', include('lcm.ns.sfcs.urls')),
37     url(r'^', include('lcm.ns.urls')),
38     url(r'^', include('lcm.jobs.urls')),
39     url(r'^', include('lcm.workflows.urls')),
40     url(r'^', include('lcm.swagger.urls')),
41     url(r'^', include('lcm.v2.urls')),
42 ]
43
44 # regist to MSB when startup
45 if REG_TO_MSB_WHEN_START:
46     import json
47     from lcm.pub.utils.restcall import req_by_msb
48     req_by_msb(REG_TO_MSB_REG_URL, "POST", json.JSONEncoder().encode(REG_TO_MSB_REG_PARAM))
49
50 # deploy workflow when startup
51 if DEPLOY_WORKFLOW_WHEN_START:
52     from lcm.workflows import auto_deploy
53     auto_deploy.deploy_workflow_on_startup()