Пример #1
0
 '',
 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'),
Пример #2
0
        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'),
Пример #3
0
     {'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')),
Пример #4
0
                       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+)$',
Пример #5
0
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()),
)
Пример #6
0
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()),
)
Пример #7
0
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()),
)