# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from django.conf.urls import patterns, url from snf_django.lib.api import api_endpoint_not_found from snf_django.lib.api.urls import api_patterns from astakos.im import settings urlpatterns = patterns('') if settings.ADMIN_API_ENABLED: urlpatterns += api_patterns( 'astakos.api.user', (r'^v2.0/users(?:/|.json|.xml)?$', 'users_demux'), (r'^v2.0/users/detail(?:.json|.xml)?$', 'users_list', {'detail': True}), (r'^v2.0/users/([-\w]+)(?:/|.json|.xml)?$', 'user_demux'), (r'^v2.0/users/([-\w]+)/action(?:/|.json|.xml)?$', 'user_action') ) urlpatterns += patterns( 'astakos.api.tokens', url(r'^v2.0/tokens/(?P<token_id>.+?)/?$', 'validate_token', name='validate_token'), url(r'^v2.0/tokens/?$', 'authenticate', name='tokens_authenticate'), url(r'^.*', api_endpoint_not_found), )
from functools import partial urlpatterns = [] # Redirects should be first, otherwise they may get overridden by wildcards extend_endpoint_with_slash(urlpatterns, cyclades_services, 'cyclades_ui') extend_endpoint_with_slash(urlpatterns, cyclades_services, 'cyclades_helpdesk') extend_endpoint_with_slash(urlpatterns, cyclades_services, 'admin') extend_endpoint_with_slash(urlpatterns, cyclades_services, 'cyclades_userdata') cyclades_patterns = api_patterns( '', (prefix_pattern(VMAPI_PREFIX), include('synnefo.vmapi.urls')), (prefix_pattern(PLANKTON_PREFIX), include('synnefo.plankton.urls')), (prefix_pattern(COMPUTE_PREFIX), include('synnefo.api.compute_urls')), (prefix_pattern(NETWORK_PREFIX), include('synnefo.api.network_urls')), (prefix_pattern(USERDATA_PREFIX), include('synnefo.userdata.urls')), (prefix_pattern(ADMIN_PREFIX), include('synnefo.admin.urls')), (prefix_pattern(VOLUME_PREFIX), include('synnefo.volume.urls')), ) cyclades_patterns += patterns( '', (prefix_pattern(UI_PREFIX), include('synnefo.ui.urls')), ) cyclades_patterns += api_patterns( '', (prefix_pattern(HELPDESK_PREFIX), include('synnefo.helpdesk.urls')), )
BASE_URL, BASE_HOST, BASE_PATH, COMPUTE_PREFIX, VMAPI_PREFIX, PLANKTON_PREFIX, HELPDESK_PREFIX, UI_PREFIX, ASTAKOS_BASE_URL, USERDATA_PREFIX, ADMIN_PREFIX, ASTAKOS_BASE_PATH, BASE_ASTAKOS_PROXY_PATH, ASTAKOS_ACCOUNTS_PREFIX, ASTAKOS_VIEWS_PREFIX, PROXY_USER_SERVICES, cyclades_services) from functools import partial astakos_proxy = partial(proxy, proxy_base=BASE_ASTAKOS_PROXY_PATH, target_base=ASTAKOS_BASE_URL) cyclades_patterns = api_patterns( '', (prefix_pattern(VMAPI_PREFIX), include('synnefo.vmapi.urls')), (prefix_pattern(PLANKTON_PREFIX), include('synnefo.plankton.urls')), (prefix_pattern(COMPUTE_PREFIX), include('synnefo.api.urls')), (prefix_pattern(USERDATA_PREFIX), include('synnefo.userdata.urls')), (prefix_pattern(ADMIN_PREFIX), include('synnefo.admin.urls')), ) cyclades_patterns += patterns( '', (prefix_pattern(UI_PREFIX), include('synnefo.ui.urls')), (prefix_pattern(HELPDESK_PREFIX), include('synnefo.helpdesk.urls')), ) urlpatterns = patterns( '', (prefix_pattern(BASE_PATH), include(cyclades_patterns)), )
ASTAKOS_AUTH_PROXY_PATH, ASTAKOS_AUTH_URL, ASTAKOS_ACCOUNT_PROXY_PATH, ASTAKOS_ACCOUNT_URL, ASTAKOS_UI_PROXY_PATH, ASTAKOS_UI_URL, pithos_services) urlpatterns = [] # Redirects should be first, otherwise they may get overridden by wildcards extend_endpoint_with_slash(urlpatterns, pithos_services, "pithos_ui") extend_endpoint_with_slash(urlpatterns, pithos_services, "pithos_public") # TODO: This only works when in this order. pithos_api_patterns = api_patterns( 'pithos.api.functions', (r'^$', 'top_demux'), (r'^(?P<v_account>.+?)/(?P<v_container>.+?)/(?P<v_object>.+?)$', 'object_demux'), (r'^(?P<v_account>.+?)/(?P<v_container>.+?)/?$', 'container_demux'), (r'^(?P<v_account>.+?)/?$', 'account_demux')) pithos_view_patterns = patterns( 'pithos.api.views', (r'^(?P<v_account>.+?)/(?P<v_container>.+?)/(?P<v_object>.+?)$', 'object_read')) pithos_patterns = [] pithos_patterns += patterns( '', (r'{0}v1/'.format(prefix_pattern(PITHOS_PREFIX)), include(pithos_api_patterns)), (r'{0}.*'.format(prefix_pattern(PITHOS_PREFIX)),
from snf_django.lib.api.urls import api_patterns from snf_django.lib.api import api_endpoint_not_found from snf_django.utils.urls import extend_path_with_slash from synnefo_ui.ui_settings import BASE_URL, ASTAKOS_IDENTITY_PROXY_PATH, \ ASTAKOS_IDENTITY_BASE_URL, ASTAKOS_ACCOUNT_PROXY_PATH, \ ASTAKOS_ACCOUNT_BASE_URL proxy_patterns = patterns('') if ASTAKOS_IDENTITY_PROXY_PATH: identity_proxy = \ partial(proxy, proxy_base=ASTAKOS_IDENTITY_PROXY_PATH, target_base=ASTAKOS_IDENTITY_BASE_URL) proxy_patterns += api_patterns( '', (prefix_pattern(ASTAKOS_IDENTITY_PROXY_PATH), identity_proxy)) if ASTAKOS_ACCOUNT_PROXY_PATH: account_proxy = \ partial(proxy, proxy_base=ASTAKOS_ACCOUNT_PROXY_PATH, target_base=ASTAKOS_ACCOUNT_BASE_URL) proxy_patterns += api_patterns( '', (prefix_pattern(ASTAKOS_ACCOUNT_PROXY_PATH), account_proxy)) ui_patterns = patterns( 'synnefo_ui.views', url(r'^(?P<path>(?!view).*$)', 'app', name='ui-app'), )
from functools import partial from django.conf.urls.defaults import include, patterns from snf_django.lib.api.proxy import proxy from snf_django.lib.api.utils import prefix_pattern from snf_django.lib.api.urls import api_patterns from snf_django.lib.api import api_endpoint_not_found from pithos.api.settings import (BASE_PATH, ASTAKOS_BASE_URL, BASE_ASTAKOS_PROXY_PATH, ASTAKOS_ACCOUNTS_PREFIX, PROXY_USER_SERVICES, PITHOS_PREFIX, PUBLIC_PREFIX, UI_PREFIX) # TODO: This only works when in this order. pithos_api_patterns = api_patterns( 'pithos.api.functions', (r'^$', 'top_demux'), (r'^(?P<v_account>.+?)/(?P<v_container>.+?)/(?P<v_object>.+?)$', 'object_demux'), (r'^(?P<v_account>.+?)/(?P<v_container>.+?)/?$', 'container_demux'), (r'^(?P<v_account>.+?)/?$', 'account_demux')) pithos_view_patterns = patterns( 'pithos.api.views', (r'^view/(?P<v_account>.+?)/(?P<v_container>.+?)/(?P<v_object>.+?)$', 'object_read')) pithos_patterns = patterns( '', (r'{0}v1/'.format( prefix_pattern(PITHOS_PREFIX)), include(pithos_api_patterns)), (r'{0}.*'.format(prefix_pattern(PITHOS_PREFIX)), api_endpoint_not_found), (r'{0}(?P<v_public>.+?)/?$'.format( prefix_pattern(PUBLIC_PREFIX)), 'pithos.api.public.public_demux'), (r'{0}'.format(prefix_pattern(UI_PREFIX)), include(pithos_view_patterns)))
BASE_URL, BASE_HOST, BASE_PATH, COMPUTE_PREFIX, VMAPI_PREFIX, PLANKTON_PREFIX, HELPDESK_PREFIX, UI_PREFIX, ASTAKOS_BASE_URL, USERDATA_PREFIX, ADMIN_PREFIX, ASTAKOS_BASE_PATH, BASE_ASTAKOS_PROXY_PATH, ASTAKOS_ACCOUNTS_PREFIX, ASTAKOS_VIEWS_PREFIX, PROXY_USER_SERVICES, cyclades_services) from functools import partial astakos_proxy = partial(proxy, proxy_base=BASE_ASTAKOS_PROXY_PATH, target_base=ASTAKOS_BASE_URL) cyclades_patterns = api_patterns('', (prefix_pattern(VMAPI_PREFIX), include('synnefo.vmapi.urls')), (prefix_pattern(PLANKTON_PREFIX), include('synnefo.plankton.urls')), (prefix_pattern(COMPUTE_PREFIX), include('synnefo.api.urls')), (prefix_pattern(USERDATA_PREFIX), include('synnefo.userdata.urls')), (prefix_pattern(ADMIN_PREFIX), include('synnefo.admin.urls')), ) cyclades_patterns += patterns('', (prefix_pattern(UI_PREFIX), include('synnefo.ui.urls')), (prefix_pattern(HELPDESK_PREFIX), include('synnefo.helpdesk.urls')), ) urlpatterns = patterns( '', (prefix_pattern(BASE_PATH), include(cyclades_patterns)), ) if PROXY_USER_SERVICES:
# # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from django.conf.urls import patterns, url from snf_django.lib.api import api_endpoint_not_found from snf_django.lib.api.urls import api_patterns from astakos.im import settings from astakos.api.keystone_versions import versions_list, version_details urlpatterns = patterns('') if settings.ADMIN_API_ENABLED: urlpatterns += api_patterns( 'astakos.api.user', (r'^v2.0/users(?:/|.json|.xml)?$', 'users_demux'), (r'^v2.0/users/detail(?:.json|.xml)?$', 'users_list', { 'detail': True }), (r'^v2.0/users/([-\w]+)(?:/|.json|.xml)?$', 'user_demux'), (r'^v2.0/users/([-\w]+)/action(?:/|.json|.xml)?$', 'user_action')) urlpatterns += patterns( 'astakos.api.tokens', url(r'^(?:.json)?$', versions_list), url(r'^v2.0(?:/)?(?:.json)?$', version_details, {'api_version': 'v2.0'}), url(r'^v2.0/tokens/(?P<token_id>.+?)/?$', 'validate_token', name='validate_token'), url(r'^v2.0/tokens/?$', 'authenticate', name='tokens_authenticate'), url(r'^.*', api_endpoint_not_found), )
from django.conf.urls.defaults import include, patterns from snf_django.lib.api.proxy import proxy from snf_django.lib.api.utils import prefix_pattern from snf_django.lib.api.urls import api_patterns from snf_django.lib.api import api_endpoint_not_found from pithos.api.settings import ( BASE_PATH, ASTAKOS_BASE_URL, BASE_ASTAKOS_PROXY_PATH, ASTAKOS_ACCOUNTS_PREFIX, PROXY_USER_SERVICES, PITHOS_PREFIX, PUBLIC_PREFIX, UI_PREFIX) # TODO: This only works when in this order. pithos_api_patterns = api_patterns( 'pithos.api.functions', (r'^$', 'top_demux'), (r'^(?P<v_account>.+?)/(?P<v_container>.+?)/(?P<v_object>.+?)$', 'object_demux'), (r'^(?P<v_account>.+?)/(?P<v_container>.+?)/?$', 'container_demux'), (r'^(?P<v_account>.+?)/?$', 'account_demux')) pithos_view_patterns = patterns( 'pithos.api.views', (r'^view/(?P<v_account>.+?)/(?P<v_container>.+?)/(?P<v_object>.+?)$', 'object_read')) pithos_patterns = patterns( '', (r'{0}v1/'.format(prefix_pattern(PITHOS_PREFIX)), include(pithos_api_patterns)), (r'{0}.*'.format(prefix_pattern(PITHOS_PREFIX)), api_endpoint_not_found),
from snf_django.lib.api.utils import prefix_pattern from snf_django.lib.api.urls import api_patterns from snf_django.lib.api import api_endpoint_not_found from snf_django.utils.urls import extend_path_with_slash from synnefo_ui.ui_settings import BASE_URL, ASTAKOS_IDENTITY_PROXY_PATH, \ ASTAKOS_IDENTITY_BASE_URL, ASTAKOS_ACCOUNT_PROXY_PATH, \ ASTAKOS_ACCOUNT_BASE_URL proxy_patterns = patterns('') if ASTAKOS_IDENTITY_PROXY_PATH: identity_proxy = \ partial(proxy, proxy_base=ASTAKOS_IDENTITY_PROXY_PATH, target_base=ASTAKOS_IDENTITY_BASE_URL) proxy_patterns += api_patterns( '', (prefix_pattern(ASTAKOS_IDENTITY_PROXY_PATH), identity_proxy)) if ASTAKOS_ACCOUNT_PROXY_PATH: account_proxy = \ partial(proxy, proxy_base=ASTAKOS_ACCOUNT_PROXY_PATH, target_base=ASTAKOS_ACCOUNT_BASE_URL) proxy_patterns += api_patterns( '', (prefix_pattern(ASTAKOS_ACCOUNT_PROXY_PATH), account_proxy)) ui_patterns = patterns( 'synnefo_ui.views', url(r'^(?P<path>(?!view).*$)', 'app', name='ui-app'), ) urlpatterns = proxy_patterns urlpatterns += patterns('', (prefix_pattern(BASE_URL), include(ui_patterns)))