forked from uncloud/uncloud
80 lines
3.1 KiB
Python
80 lines
3.1 KiB
Python
"""uncloud URL Configuration
|
|
|
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
|
https://docs.djangoproject.com/en/3.0/topics/http/urls/
|
|
Examples:
|
|
Function views
|
|
1. Add an import: from my_app import views
|
|
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
|
Class-based views
|
|
1. Add an import: from other_app.views import Home
|
|
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
|
Including another URLconf
|
|
1. Import the include() function: from django.urls import include, path
|
|
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
|
"""
|
|
from django.contrib import admin
|
|
from django.urls import path, include
|
|
|
|
from rest_framework import routers
|
|
|
|
from uncloud_vm import views as vmviews
|
|
from uncloud_pay import views as payviews
|
|
from ungleich_service import views as serviceviews
|
|
from opennebula import views as oneviews
|
|
|
|
router = routers.DefaultRouter()
|
|
|
|
# VM
|
|
router.register(r'vm/snapshot', vmviews.VMSnapshotProductViewSet, basename='vmsnapshotproduct')
|
|
router.register(r'vm/disk', vmviews.VMDiskProductViewSet, basename='vmdiskproduct')
|
|
router.register(r'vm/image/mine', vmviews.VMDiskImageProductMineViewSet, basename='vmdiskimagemineproduct')
|
|
router.register(r'vm/image/public', vmviews.VMDiskImageProductPublicViewSet, basename='vmdiskimagepublicproduct')
|
|
|
|
# images the provider provides :-)
|
|
# router.register(r'vm/image/official', vmviews.VMDiskImageProductPublicViewSet, basename='vmdiskimagepublicproduct')
|
|
|
|
|
|
|
|
|
|
router.register(r'vm/vm', vmviews.VMProductViewSet, basename='vmproduct')
|
|
|
|
|
|
# TBD
|
|
#router.register(r'vm/disk', vmviews.VMDiskProductViewSet, basename='vmdiskproduct')
|
|
|
|
# creates VM from os image
|
|
#router.register(r'vm/ipv6onlyvm', vmviews.VMProductViewSet, basename='vmproduct')
|
|
# ... AND adds IPv4 mapping
|
|
#router.register(r'vm/dualstackvm', vmviews.VMProductViewSet, basename='vmproduct')
|
|
|
|
# allow vm creation from own images
|
|
|
|
|
|
# Services
|
|
router.register(r'service/matrix', serviceviews.MatrixServiceProductViewSet, basename='matrixserviceproduct')
|
|
|
|
|
|
# Pay
|
|
router.register(r'user', payviews.UserViewSet, basename='user')
|
|
router.register(r'payment-method', payviews.PaymentMethodViewSet, basename='payment-method')
|
|
router.register(r'bill', payviews.BillViewSet, basename='bill')
|
|
router.register(r'order', payviews.OrderViewSet, basename='order')
|
|
router.register(r'payment', payviews.PaymentViewSet, basename='payment')
|
|
|
|
# VMs
|
|
router.register(r'vm/vm', vmviews.VMProductViewSet, basename='vm')
|
|
|
|
# admin/staff urls
|
|
router.register(r'admin/bill', payviews.AdminBillViewSet, basename='admin/bill')
|
|
router.register(r'admin/payment', payviews.AdminPaymentViewSet, basename='admin/payment')
|
|
router.register(r'admin/order', payviews.AdminOrderViewSet, basename='admin/order')
|
|
router.register(r'admin/vmhost', vmviews.VMHostViewSet)
|
|
router.register(r'admin/opennebula', oneviews.VMViewSet, basename='opennebula')
|
|
router.register(r'admin/opennebula_raw', oneviews.RawVMViewSet, basename='opennebula_raw')
|
|
|
|
|
|
urlpatterns = [
|
|
path('', include(router.urls)),
|
|
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')) # for login to REST API
|
|
]
|