'', url(r'^$', ShareView.as_view(), name='share-view'), url(r'^(?P<sname>%s)$' % share_regex, ShareView.as_view(), name='share-view'), url(r'^(?P<sname>%s)/nfs$' % share_regex, ShareNFSView.as_view(), name='nfs-view'), url(r'^(?P<sname>%s)/nfs/(?P<export_id>[0-9]+)$' % share_regex, ShareNFSView.as_view(), name='nfs-view'), url(r'^(?P<sname>%s)/samba$' % share_regex, ShareSambaView.as_view(), name='samba-view'), url(r'^(?P<sname>%s)/snapshots$' % share_regex, SnapshotView.as_view(), name='snapshot-view'), url(r'^(?P<sname>%s)/snapshots/(?P<snap_name>%s)$' % (share_regex, snap_regex), SnapshotView.as_view(), name='snapshot-view'), url(r'^(?P<sname>%s)/snapshots/(?P<snap_name>%s)/(?P<command>.*)$' % (share_regex, snap_regex), SnapshotView.as_view(), name='snapshot-view'), url(r'^(?P<sname>[A-Za-z]+[A-Za-z0-9_]*)/iscsi/$', ShareIscsiView.as_view(), name='share-iscsi-view'), url(r'^(?P<sname>%s)/acl$' % share_regex, ShareACLView.as_view(), name='acl-view'),
name='pool-view'), url(r'^api/pools/(?P<pname>[A-Za-z0-9_]+)/(?P<command>.*)/$', PoolView.as_view(), name='pool-view'), # Shares section url(r'^api/shares/$', ShareView.as_view(), name='share-view'), url(r'^api/shares/(?P<sname>[A-Za-z0-9_]+)/$', ShareView.as_view(), name='share-view'), url(r'^api/shares/(?P<sname>[A-Za-z0-9_]+)/nfs/$', ShareNFSView.as_view(), name='nfs-view'), url(r'^api/shares/(?P<sname>[A-Za-z0-9_]+)/nfs/(?P<export_id>[0-9]+)/$', ShareNFSView.as_view(), name='nfs-view'), url(r'^api/shares/(?P<sname>[A-Za-z0-9_]+)/samba/$', ShareSambaView.as_view(), name='samba-view'), url(r'^api/shares/(?P<sname>[A-Za-z0-9_]+)/snapshots/$', SnapshotView.as_view(), name='snapshot-view'), url(r'^api/shares/(?P<sname>[A-Za-z0-9_]+)/snapshots/(?P<snap_name>.*)/$', SnapshotView.as_view(), name='snapshot-view'), url(r'^api/shares/(?P<sname>[A-Za-z0-9_]+)/iscsi/$', ShareIscsiView.as_view(), name='share-iscsi-view'), # User configuration url(r'^api/users/(?P<id>\d+)$', UserView.as_view(), name='user-view'), url(r'^api/users/$', UserView.as_view(), name='user-view'), url(r'^api/sm/services/$', ServiceView.as_view(), name='service-view'), url(r'^api/sm/services/(?P<sname>[A-Za-z_]+)/$', ServiceView.as_view(), name='service-view'), url(r'^api/sm/stap/$', StapView.as_view(), name='stap-view'), url(r'^api/sm/stap/(?P<tname>[A-Za-z0-9_]+)/$', StapView.as_view(), name='stap-view'), url(r'^api/sm/(?P<mname>[A-Za-z0-9_]+)/$', SmartManagerView.as_view(), name='sm-view'), url(r'^api/support/$', SupportView.as_view(), name='support-view'),
{'document_root': js_doc_root}), url(r'^img/(?P<path>.*)$', 'django.views.static.serve', {'document_root': img_doc_root}), url(r'^o/', include( 'oauth2_provider.urls', namespace='oauth2_provider', )), # REST API url(r'^api/login', LoginView.as_view()), (r'^api/appliances', include('storageadmin.urls.appliances')), (r'^api/commands/', include('storageadmin.urls.commands')), (r'^api/disks', include('storageadmin.urls.disks')), (r'^api/network', include('storageadmin.urls.network')), (r'^api/pools', include('storageadmin.urls.pools')), (r'^api/shares', include('storageadmin.urls.share')), (r'^api/snapshots', SnapshotView.as_view()), (r'^api/users', include('storageadmin.urls.users')), (r'^api/groups', include('storageadmin.urls.groups')), url(r'^api/nfs-exports$', NFSExportGroupListView.as_view()), url(r'^api/nfs-exports/(?P<export_id>\d+)$', NFSExportGroupDetailView.as_view()), url(r'^api/adv-nfs-exports$', AdvancedNFSExportView.as_view()), url(r'^api/samba$', SambaListView.as_view()), url(r'^api/samba/(?P<smb_id>\d+)$', SambaDetailView.as_view()), url(r'^api/sftp$', SFTPListView.as_view()), url(r'^api/sftp/(?P<id>\d+)$', SFTPDetailView.as_view()), # Dashboard config url(r'^api/dashboardconfig$', DashboardConfigView.as_view()), url(r'^api/oauth_app$', OauthAppView.as_view()), url(r'^api/oauth_app/(?P<id>\d+)$', OauthAppView.as_view()), (r'^api/sm/services/', include('smart_manager.urls.services')),
url(r'^img/(?P<path>.*)$', 'django.views.static.serve', {'document_root': img_doc_root}), url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider',)), # REST API url(r'^api/login', LoginView.as_view()), (r'^api/appliances', include('storageadmin.urls.appliances')), (r'^api/commands/', include('storageadmin.urls.commands')), (r'^api/disks', include('storageadmin.urls.disks')), (r'^api/network', include('storageadmin.urls.network')), (r'^api/pools', include('storageadmin.urls.pools')), (r'^api/shares', include('storageadmin.urls.share')), (r'^api/snapshots', SnapshotView.as_view()), (r'^api/users', include('storageadmin.urls.users')), (r'^api/groups', include('storageadmin.urls.groups')), (r'^api/support', include('storageadmin.urls.support')), url(r'^api/nfs-exports$', NFSExportGroupListView.as_view()), url(r'^api/nfs-exports/(?P<export_id>\d+)$', NFSExportGroupDetailView.as_view()), url(r'^api/adv-nfs-exports$', AdvancedNFSExportView.as_view()), url(r'^api/samba$', SambaListView.as_view()), url(r'^api/samba/(?P<smb_id>\d+)$', SambaDetailView.as_view()), url(r'^api/sftp$', SFTPListView.as_view()), url(r'^api/sftp/(?P<id>\d+)$', SFTPDetailView.as_view()), url(r'^api/netatalk$', NetatalkListView.as_view()), url(r'^api/netatalk/(?P<afp_id>\d+)$',
share_regex = settings.SHARE_REGEX snap_regex = share_regex snap_command = 'clone' share_command = 'rollback|clone' urlpatterns = patterns( '', url(r'^$', ShareListView.as_view(), name='share-view'), url(r'^/(?P<sid>\d+)$', ShareDetailView.as_view(), name='share-view'), url( r'^/(?P<sid>\d+)/(?P<command>force)$', ShareDetailView.as_view(), ), # Individual snapshots don't have detailed representation in the web-ui. So # thre is no need for SnapshotDetailView. url(r'^/(?P<sid>\d+)/snapshots$', SnapshotView.as_view(), name='snapshot-view'), url(r'^/(?P<sid>\d+)/snapshots/(?P<snap_name>%s)$' % snap_regex, SnapshotView.as_view(), name='snapshot-view'), url( r'^/(?P<sid>\d+)/snapshots/(?P<snap_name>%s)/(?P<command>%s)$' % (snap_regex, snap_command), SnapshotView.as_view()), url(r'^/(?P<sid>\d+)/acl$', ShareACLView.as_view(), name='acl-view'), url(r'^/(?P<sid>\d+)/(?P<command>%s)$' % share_command, ShareCommandView.as_view()), )
share_regex = settings.SHARE_REGEX snap_regex = share_regex snap_command = 'clone' share_command = 'rollback|clone' urlpatterns = patterns( '', url(r'^$', ShareListView.as_view(), name='share-view'), url(r'^/(?P<sname>%s)$' % share_regex, ShareDetailView.as_view(), name='share-view'), url(r'^/(?P<sname>%s)/(?P<command>force)$' % share_regex, ShareDetailView.as_view(),), # Individual snapshots don't have detailed representation in the web-ui. So # thre is no need for SnapshotDetailView. url(r'^/(?P<sname>%s)/snapshots$' % share_regex, SnapshotView.as_view(), name='snapshot-view'), url(r'^/(?P<sname>%s)/snapshots/(?P<snap_name>%s)$' % (share_regex, snap_regex), SnapshotView.as_view(), name='snapshot-view'), url(r'^/(?P<sname>%s)/snapshots/(?P<snap_name>%s)/(?P<command>%s)$' % (share_regex, snap_regex, snap_command), SnapshotView.as_view()), url(r'^/(?P<sname>%s)/acl$' % share_regex, ShareACLView.as_view(), name='acl-view'), url(r'^/(?P<sname>%s)/(?P<command>%s)$' % (share_regex, share_command), ShareCommandView.as_view()), )
from django.conf.urls import patterns, url from storageadmin.views import ShareListView, ShareDetailView, ShareACLView, SnapshotView, ShareCommandView from django.conf import settings share_regex = settings.SHARE_REGEX snap_regex = share_regex snap_command = "clone" share_command = "rollback|clone" urlpatterns = patterns( "", url(r"^$", ShareListView.as_view(), name="share-view"), url(r"^/(?P<sname>%s)$" % share_regex, ShareDetailView.as_view(), name="share-view"), # Individual snapshots don't have detailed representation in the web-ui. So # thre is no need for SnapshotDetailView. url(r"^/(?P<sname>%s)/snapshots$" % share_regex, SnapshotView.as_view(), name="snapshot-view"), url( r"^/(?P<sname>%s)/snapshots/(?P<snap_name>%s)$" % (share_regex, snap_regex), SnapshotView.as_view(), name="snapshot-view", ), url( r"^/(?P<sname>%s)/snapshots/(?P<snap_name>%s)/(?P<command>%s)$" % (share_regex, snap_regex, snap_command), SnapshotView.as_view(), ), url(r"^/(?P<sname>%s)/acl$" % share_regex, ShareACLView.as_view(), name="acl-view"), url(r"^/(?P<sname>%s)/(?P<command>%s)$" % (share_regex, share_command), ShareCommandView.as_view()), )