remove _unused files
Change-Id: I1f532e0a16ed072cffdf00b10340e9d66daf8353
diff --git a/xos/core/xoslib/methods/cordsubscriber._unused b/xos/core/xoslib/methods/cordsubscriber._unused
deleted file mode 100644
index 8fc88e0..0000000
--- a/xos/core/xoslib/methods/cordsubscriber._unused
+++ /dev/null
@@ -1,380 +0,0 @@
-from rest_framework.decorators import api_view
-from rest_framework.response import Response
-from rest_framework.reverse import reverse
-from rest_framework import serializers
-from rest_framework import generics
-from rest_framework import viewsets
-from rest_framework.decorators import detail_route, list_route
-from rest_framework.views import APIView
-from core.models import *
-from django.forms import widgets
-from django.conf.urls import patterns, url
-from services.volt.models import VOLTTenant, CordSubscriberRoot
-from core.xoslib.objects.cordsubscriber import CordSubscriber
-from plus import PlusSerializerMixin, XOSViewSet
-from django.shortcuts import get_object_or_404
-from xos.apibase import XOSListCreateAPIView, XOSRetrieveUpdateDestroyAPIView, XOSPermissionDenied
-from xos.exceptions import *
-import json
-import subprocess
-
-if hasattr(serializers, "ReadOnlyField"):
- # rest_framework 3.x
- ReadOnlyField = serializers.ReadOnlyField
-else:
- # rest_framework 2.x
- ReadOnlyField = serializers.Field
-
-class CordSubscriberIdSerializer(serializers.ModelSerializer, PlusSerializerMixin):
- id = ReadOnlyField()
- service_specific_id = ReadOnlyField()
- c_tag = ReadOnlyField()
- s_tag = ReadOnlyField()
- vcpe_id = ReadOnlyField()
- instance = ReadOnlyField()
- image = ReadOnlyField()
- vbng_id = ReadOnlyField()
- firewall_enable = serializers.BooleanField()
- firewall_rules = serializers.CharField()
- url_filter_enable = serializers.BooleanField()
- url_filter_rules = serializers.CharField()
- url_filter_level = serializers.CharField(required=False)
- cdn_enable = serializers.BooleanField()
- instance_name = ReadOnlyField()
- image_name = ReadOnlyField()
- routeable_subnet = serializers.CharField(required=False)
- ssh_command = ReadOnlyField()
- bbs_account = ReadOnlyField()
-
- wan_container_ip = ReadOnlyField()
- uplink_speed = serializers.CharField(required=False)
- downlink_speed = serializers.CharField(required=False)
- status = serializers.CharField()
- enable_uverse = serializers.BooleanField()
-
- lan_ip = ReadOnlyField()
- wan_ip = ReadOnlyField()
- nat_ip = ReadOnlyField()
- private_ip = ReadOnlyField()
-
- wan_mac = ReadOnlyField()
-
- vcpe_synced = serializers.BooleanField()
-
- humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-
- class Meta:
- model = CordSubscriber
- fields = ('humanReadableName', 'id',
- 'service_specific_id', 's_tag', 'c_tag',
- 'vcpe_id', 'instance', 'instance_name', 'image', 'image_name',
- 'firewall_enable', 'firewall_rules',
- 'url_filter_enable', 'url_filter_rules', 'url_filter_level',
- 'bbs_account',
- 'ssh_command',
- 'vcpe_synced',
- 'cdn_enable', 'vbng_id', 'routeable_subnet', 'nat_ip', 'lan_ip', 'wan_ip', 'private_ip', 'wan_mac',
- 'wan_container_ip',
- 'uplink_speed', 'downlink_speed', 'status', 'enable_uverse')
-
-
- def getHumanReadableName(self, obj):
- return obj.__unicode__()
-
-#------------------------------------------------------------------------------
-# The "old" API
-# This is used by the xoslib-based GUI
-#------------------------------------------------------------------------------
-
-class CordSubscriberList(XOSListCreateAPIView):
- queryset = CordSubscriber.get_tenant_objects().select_related().all()
- serializer_class = CordSubscriberIdSerializer
-
- method_kind = "list"
- method_name = "cordsubscriber"
-
-class CordSubscriberDetail(XOSRetrieveUpdateDestroyAPIView):
- queryset = CordSubscriber.get_tenant_objects().select_related().all()
- serializer_class = CordSubscriberIdSerializer
-
- method_kind = "detail"
- method_name = "cordsubscriber"
-
-# We fake a user object by pulling the user data struct out of the
-# subscriber object...
-
-def serialize_user(subscriber, user):
- return {"id": "%d-%d" % (subscriber.id, user["id"]),
- "name": user["name"],
- "level": user.get("level",""),
- "mac": user.get("mac", ""),
- "subscriber": subscriber.id }
-
-class CordUserList(APIView):
- method_kind = "list"
- method_name = "corduser"
-
- def get(self, request, format=None):
- instances=[]
- for subscriber in CordSubscriber.get_tenant_objects().all():
- for user in subscriber.devices:
- instances.append( serialize_user(subscriber, user) )
-
- return Response(instances)
-
- def post(self, request, format=None):
- data = request.DATA
- subscriber = CordSubscriber.get_tenant_objects().get(id=int(data["subscriber"]))
- user = subscriber.create_user(name=data["name"],
- level=data["level"],
- mac=data["mac"])
- subscriber.save()
-
- return Response(serialize_user(subscriber,user))
-
-class CordUserDetail(APIView):
- method_kind = "detail"
- method_name = "corduser"
-
- def get(self, request, format=None, pk=0):
- parts = pk.split("-")
- subscriber = CordSubscriber.get_tenant_objects().filter(id=parts[0])
- for user in subscriber.devices:
- return Response( [ serialize_user(subscriber, user) ] )
- raise XOSNotFound("Failed to find user %s" % pk)
-
- def delete(self, request, pk):
- parts = pk.split("-")
- subscriber = CordSubscriber.get_tenant_objects().get(id=int(parts[0]))
- subscriber.delete_user(parts[1])
- subscriber.save()
- return Response("okay")
-
- def put(self, request, pk):
- kwargs={}
- if "name" in request.DATA:
- kwargs["name"] = request.DATA["name"]
- if "level" in request.DATA:
- kwargs["level"] = request.DATA["level"]
- if "mac" in request.DATA:
- kwargs["mac"] = request.DATA["mac"]
-
- parts = pk.split("-")
- subscriber = CordSubscriber.get_tenant_objects().get(id=int(parts[0]))
- user = subscriber.update_user(parts[1], **kwargs)
- subscriber.save()
- return Response(serialize_user(subscriber,user))
-
-#------------------------------------------------------------------------------
-# The "new" API with many more REST endpoints.
-# This is for integration with with the subscriber GUI
-#------------------------------------------------------------------------------
-
-class CordSubscriberViewSet(XOSViewSet):
- base_name = "subscriber"
- method_name = "rs/subscriber"
- method_kind = "viewset"
- queryset = CordSubscriber.get_tenant_objects().select_related().all()
- serializer_class = CordSubscriberIdSerializer
-
- def get_vcpe(self):
- subscriber = self.get_object()
- if not subscriber.vcpe:
- raise XOSMissingField("vCPE object is not present for subscriber")
- return subscriber.vcpe
-
- @classmethod
- def get_urlpatterns(self):
- patterns = super(CordSubscriberViewSet, self).get_urlpatterns()
- patterns.append( self.detail_url("vcpe_synced/$", {"get": "get_vcpe_synced"}, "vcpe_synced") )
- patterns.append( self.detail_url("url_filter/$", {"get": "get_url_filter"}, "url_filter") )
- patterns.append( self.detail_url("url_filter/(?P<level>[a-zA-Z0-9\-_]+)/$", {"put": "set_url_filter"}, "url_filter") )
- patterns.append( self.detail_url("services/$", {"get": "get_services"}, "services") )
- patterns.append( self.detail_url("services/(?P<service>[a-zA-Z0-9\-_]+)/$", {"get": "get_service"}, "get_service") )
- patterns.append( self.detail_url("services/(?P<service>[a-zA-Z0-9\-_]+)/true/$", {"put": "enable_service"}, "enable_service") )
- patterns.append( self.detail_url("services/(?P<service>[a-zA-Z0-9\-_]+)/false/$", {"put": "disable_service"}, "disable_service") )
-
- patterns.append( self.detail_url("users/$", {"get": "get_users", "post": "create_user"}, "users") )
- patterns.append( self.detail_url("users/clearusers/$", {"get": "clear_users", "put": "clear_users", "post": "clear_users"}, "clearusers") )
- patterns.append( self.detail_url("users/newuser/$", {"put": "create_user", "post": "create_user"}, "newuser") )
- patterns.append( self.detail_url("users/(?P<uid>[0-9\-]+)/$", {"delete": "delete_user"}, "user") )
- patterns.append( self.detail_url("users/(?P<uid>[0-9\-]+)/url_filter/$", {"get": "get_user_level"}, "user_level") )
- patterns.append( self.detail_url("users/(?P<uid>[0-9\-]+)/url_filter/(?P<level>[a-zA-Z0-9\-_]+)/$", {"put": "set_user_level"}, "set_user_level") )
-
- patterns.append( self.detail_url("bbsdump/$", {"get": "get_bbsdump"}, "bbsdump") )
-
- patterns.append( url("^rs/initdemo/$", self.as_view({"put": "initdemo", "get": "initdemo"}), name="initdemo") )
-
- patterns.append( url("^rs/subidlookup/(?P<ssid>[0-9\-]+)/$", self.as_view({"get": "ssiddetail"}), name="ssiddetail") )
- patterns.append( url("^rs/subidlookup/$", self.as_view({"get": "ssidlist"}), name="ssidlist") )
-
- #patterns.append( url("^rs/vbng_mapping/$", self.as_view({"get": "get_vbng_mapping"}), name="vbng_mapping") )
-
- return patterns
-
- def list(self, request):
- object_list = self.filter_queryset(self.get_queryset())
-
- serializer = self.get_serializer(object_list, many=True)
-
- return Response({"subscribers": serializer.data})
-
- def get_vcpe_synced(self, request, pk=None):
- subscriber = self.get_object()
- return Response({"vcpe_synced": subscriber.vcpe_synced})
-
- def get_url_filter(self, request, pk=None):
- subscriber = self.get_object()
- return Response({"level": subscriber.url_filter_level})
-
- def set_url_filter(self, request, pk=None, level=None):
- subscriber = self.get_object()
- subscriber.url_filter_level = level
- subscriber.save()
- return Response({"level": subscriber.url_filter_level})
-
- def get_users(self, request, pk=None):
- subscriber = self.get_object()
- return Response(subscriber.devices)
-
- def get_user_level(self, request, pk=None, uid=None):
- subscriber = self.get_object()
- user = subscriber.find_user(uid)
- if user and user.get("level", None):
- level = user["level"]
- else:
- level = self.get_object().url_filter_level
-
- return Response( {"id": uid, "level": level} )
-
- def set_user_level(self, request, pk=None, uid=None, level=None):
- subscriber = self.get_object()
- subscriber.update_user(uid, level=level)
- subscriber.save()
- return self.get_user_level(request, pk, uid)
-
- def create_user(self, request, pk=None):
- data = request.DATA
- name = data.get("name",None)
- mac = data.get("mac",None)
- if (not name):
- raise XOSMissingField("name must be specified when creating user")
- if (not mac):
- raise XOSMissingField("mac must be specified when creating user")
-
- subscriber = self.get_object()
- newuser = subscriber.create_user(name=name, mac=mac)
- subscriber.save()
-
- return Response(newuser)
-
- def delete_user(self, request, pk=None, uid=None):
- subscriber = self.get_object()
- subscriber.delete_user(uid)
- subscriber.save()
-
- return Response( {"id": uid, "deleted": True} )
-
- def clear_users(self, request, pk=None):
- subscriber = self.get_object()
- subscriber.devices = []
- subscriber.save()
-
- return Response( "Okay" )
-
- def get_services(self, request, pk=None):
- subscriber = self.get_object()
- return Response(subscriber.services)
-
- def get_service(self, request, pk=None, service=None):
- service_attr = service+"_enable"
- subscriber = self.get_object()
- return Response({service: getattr(subscriber, service_attr)})
-
- def enable_service(self, request, pk=None, service=None):
- service_attr = service+"_enable"
- subscriber = self.get_object()
- setattr(subscriber, service_attr, True)
- subscriber.save()
- return Response({service: getattr(subscriber, service_attr)})
-
- def disable_service(self, request, pk=None, service=None):
- service_attr = service+"_enable"
- subscriber = self.get_object()
- setattr(subscriber, service_attr, False)
- subscriber.save()
- return Response({service: getattr(subscriber, service_attr)})
-
- def get_bbsdump(self, request, pk=None):
- subscriber = self.get_object()
- if not subsciber.volt or not subscriber.volt.vcpe:
- raise XOSMissingField("subscriber has no vCPE")
- if not subscriber.volt.vcpe.bbs_account:
- raise XOSMissingField("subscriber has no bbs_account")
-
- result=subprocess.check_output(["python", "/opt/xos/observers/vcpe/broadbandshield.py", "dump", subscriber.volt.vcpe.bbs_account, "123"])
- if request.GET.get("theformat",None)=="text":
- from django.http import HttpResponse
- return HttpResponse(result, content_type="text/plain")
- else:
- return Response( {"bbs_dump": result } )
-
- def setup_demo_subscriber(self, subscriber):
- # nuke the users and start over
- subscriber.devices = []
- subscriber.create_user(name="Mom's PC", mac="010203040506", level="PG_13")
- subscriber.create_user(name="Dad's PC", mac="90E2Ba82F975", level="PG_13")
- subscriber.create_user(name="Jack's Laptop", mac="685B359D91D5", level="PG_13")
- subscriber.create_user(name="Jill's Laptop", mac="34363BC9B6A6", level="PG_13")
- subscriber.save()
-
- def initdemo(self, request):
- object_list = CordSubscriber.get_tenant_objects().all()
-
- # reset the parental controls in any existing demo vCPEs
- for o in object_list:
- if str(o.service_specific_id) in ["0", "1"]:
- self.setup_demo_subscriber(o)
-
- demo_subscribers = [o for o in object_list if o.is_demo_user]
-
- if demo_subscribers:
- return Response({"id": demo_subscribers[0].id})
-
- subscriber = CordSubscriberRoot(service_specific_id=1234,
- name="demo-subscriber",)
- subscriber.is_demo_user = True
- subscriber.save()
-
- self.setup_demo_subscriber(subscriber)
-
- return Response({"id": subscriber.id})
-
- def ssidlist(self, request):
- object_list = CordSubscriber.get_tenant_objects().all()
-
- ssidmap = [ {"service_specific_id": x.service_specific_id, "subscriber_id": x.id} for x in object_list ]
-
- return Response({"ssidmap": ssidmap})
-
- def ssiddetail(self, pk=None, ssid=None):
- object_list = CordSubscriber.get_tenant_objects().all()
-
- ssidmap = [ {"service_specific_id": x.service_specific_id, "subscriber_id": x.id} for x in object_list if str(x.service_specific_id)==str(ssid) ]
-
- if len(ssidmap)==0:
- raise XOSNotFound("didn't find ssid %s" % str(ssid))
-
- return Response( ssidmap[0] )
-
- #def get_vbng_mapping(self, request):
- # object_list = VBNGTenant.get_tenant_objects().all()
- #
- # mappings = []
- # for vbng in object_list:
- # if vbng.mapped_ip and vbng.routeable_subnet:
- # mappings.append( {"private_ip": vbng.mapped_ip, "routeable_subnet": vbng.routeable_subnet, "mac": vbng.mapped_mac, "hostname": vbng.mapped_hostname} )
- #
- # return Response( {"vbng_mapping": mappings} )
-
-
diff --git a/xos/core/xoslib/methods/monitoringchannel._unused b/xos/core/xoslib/methods/monitoringchannel._unused
deleted file mode 100644
index 66ca2ae..0000000
--- a/xos/core/xoslib/methods/monitoringchannel._unused
+++ /dev/null
@@ -1,89 +0,0 @@
-from rest_framework.decorators import api_view
-from rest_framework.response import Response
-from rest_framework.reverse import reverse
-from rest_framework import serializers
-from rest_framework import generics
-from rest_framework import status
-from core.models import *
-from django.forms import widgets
-from services.ceilometer.models import MonitoringChannel, CeilometerService
-from plus import PlusSerializerMixin
-from xos.apibase import XOSListCreateAPIView, XOSRetrieveUpdateDestroyAPIView, XOSPermissionDenied
-
-if hasattr(serializers, "ReadOnlyField"):
- # rest_framework 3.x
- ReadOnlyField = serializers.ReadOnlyField
-else:
- # rest_framework 2.x
- ReadOnlyField = serializers.Field
-
-def get_default_ceilometer_service():
- ceilometer_services = CeilometerService.get_service_objects().all()
- if ceilometer_services:
- return ceilometer_services[0].id
- return None
-
-class MonitoringChannelSerializer(serializers.ModelSerializer, PlusSerializerMixin):
- id = ReadOnlyField()
- service_specific_attribute = ReadOnlyField()
- ceilometer_url = ReadOnlyField()
- tenant_list_str = ReadOnlyField()
- creator = ReadOnlyField()
- instance = ReadOnlyField()
- provider_service = serializers.PrimaryKeyRelatedField(queryset=CeilometerService.get_service_objects().all(), default=get_default_ceilometer_service)
-
- humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-
- computeNodeName = serializers.SerializerMethodField("getComputeNodeName")
-
- class Meta:
- model = MonitoringChannel
- fields = ('humanReadableName', 'id', 'provider_service', 'service_specific_attribute', 'ceilometer_url', 'tenant_list_str', 'creator', 'instance', 'computeNodeName' )
-
- def getHumanReadableName(self, obj):
- return obj.__unicode__()
-
- def getComputeNodeName(self, obj):
- instance = obj.instance
- if not instance:
- return None
- return instance.node.name
-
-class MonitoringChannelList(XOSListCreateAPIView):
- serializer_class = MonitoringChannelSerializer
-
- method_kind = "list"
- method_name = "monitoringchannel"
-
- def get_queryset(self):
- queryset = MonitoringChannel.get_tenant_objects().select_related().all()
-
- current_user = self.request.user.username
- if current_user is not None:
- ids = [x.id for x in queryset if x.creator.username==current_user]
- queryset = queryset.filter(id__in=ids)
-
- return queryset
-
- def post(self, request, format=None):
- current_user = request.user.username
- existing_obj = None
- for obj in MonitoringChannel.get_tenant_objects().all():
- if (obj.creator.username == current_user):
- existing_obj = obj
- break
-
- if existing_obj:
- serializer = MonitoringChannelSerializer(existing_obj)
- headers = self.get_success_headers(serializer.data)
- return Response( serializer.data, status=status.HTTP_200_OK )
-
- return super(MonitoringChannelList, self).post(request, format)
-
-class MonitoringChannelDetail(XOSRetrieveUpdateDestroyAPIView):
- serializer_class = MonitoringChannelSerializer
- queryset = MonitoringChannel.get_tenant_objects().select_related().all()
-
- method_kind = "detail"
- method_name = "monitoringchannel"
-
diff --git a/xos/core/xoslib/methods/volttenant._unused b/xos/core/xoslib/methods/volttenant._unused
deleted file mode 100644
index 03a2a97..0000000
--- a/xos/core/xoslib/methods/volttenant._unused
+++ /dev/null
@@ -1,104 +0,0 @@
-from rest_framework.decorators import api_view
-from rest_framework.response import Response
-from rest_framework.reverse import reverse
-from rest_framework import serializers
-from rest_framework import generics
-from rest_framework import status
-from core.models import *
-from django.forms import widgets
-from services.volt.models import VOLTTenant, VOLTService, CordSubscriberRoot
-from plus import PlusSerializerMixin
-from xos.apibase import XOSListCreateAPIView, XOSRetrieveUpdateDestroyAPIView, XOSPermissionDenied
-
-if hasattr(serializers, "ReadOnlyField"):
- # rest_framework 3.x
- ReadOnlyField = serializers.ReadOnlyField
-else:
- # rest_framework 2.x
- ReadOnlyField = serializers.Field
-
-def get_default_volt_service():
- volt_services = VOLTService.get_service_objects().all()
- if volt_services:
- return volt_services[0].id
- return None
-
-class VOLTTenantIdSerializer(serializers.ModelSerializer, PlusSerializerMixin):
- id = ReadOnlyField()
- service_specific_id = serializers.CharField()
- s_tag = serializers.CharField()
- c_tag = serializers.CharField()
- provider_service = serializers.PrimaryKeyRelatedField(queryset=VOLTService.get_service_objects().all(), default=get_default_volt_service)
- subscriber_root = serializers.PrimaryKeyRelatedField(queryset=CordSubscriberRoot.get_tenant_objects().all(), required=False)
-
- humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-
- computeNodeName = serializers.SerializerMethodField("getComputeNodeName")
-
- class Meta:
- model = VOLTTenant
- fields = ('humanReadableName', 'id', 'provider_service', 'service_specific_id', 's_tag', 'c_tag', 'computeNodeName', 'subscriber_root' )
-
- def getHumanReadableName(self, obj):
- return obj.__unicode__()
-
- def getComputeNodeName(self, obj):
- vcpe = obj.vcpe
- if not vcpe:
- return None
- instance = vcpe.instance
- if not instance:
- return None
- return instance.node.name
-
-class VOLTTenantList(XOSListCreateAPIView):
- serializer_class = VOLTTenantIdSerializer
-
- method_kind = "list"
- method_name = "volttenant"
-
- def get_queryset(self):
- queryset = VOLTTenant.get_tenant_objects().select_related().all()
-
- service_specific_id = self.request.query_params.get('service_specific_id', None)
- if service_specific_id is not None:
- queryset = queryset.filter(service_specific_id=service_specific_id)
-
- c_tag = self.request.query_params.get('c_tag', None)
- if c_tag is not None:
- ids = [x.id for x in queryset if x.get_attribute("c_tag", None)==c_tag]
- queryset = queryset.filter(id__in=ids)
-
- s_tag = self.request.query_params.get('s_tag', None)
- if s_tag is not None:
- ids = [x.id for x in queryset if x.get_attribute("s_tag", None)==s_tag]
- queryset = queryset.filter(id__in=ids)
-
- return queryset
-
- def post(self, request, format=None):
- data = request.DATA
-
- existing_obj = None
- for obj in VOLTTenant.get_tenant_objects().all():
- if (obj.c_tag == data.get("c_tag", None)) and (obj.s_tag == data.get("s_tag", None)) and (obj.service_specific_id == data.get("service_specific_id",None)):
- existing_obj = obj
-
- if existing_obj:
- serializer = VOLTTenantIdSerializer(existing_obj)
- headers = self.get_success_headers(serializer.data)
- return Response( serializer.data, status=status.HTTP_200_OK )
-
- return super(VOLTTenantList, self).post(request, format)
-
-class VOLTTenantDetail(XOSRetrieveUpdateDestroyAPIView):
- serializer_class = VOLTTenantIdSerializer
- queryset = VOLTTenant.get_tenant_objects().select_related().all()
-
- method_kind = "detail"
- method_name = "volttenant"
-
-
-
-
-
diff --git a/xos/core/xoslib/methods/vtn._unused b/xos/core/xoslib/methods/vtn._unused
deleted file mode 100644
index c9dbf3a..0000000
--- a/xos/core/xoslib/methods/vtn._unused
+++ /dev/null
@@ -1,65 +0,0 @@
-from rest_framework.decorators import api_view
-from rest_framework.response import Response
-from rest_framework.reverse import reverse
-from rest_framework import serializers
-from rest_framework import generics
-from rest_framework import viewsets
-from rest_framework.decorators import detail_route, list_route
-from rest_framework.views import APIView
-from core.models import *
-from django.forms import widgets
-from django.conf.urls import patterns, url
-from plus import PlusSerializerMixin, XOSViewSet
-from django.shortcuts import get_object_or_404
-from xos.apibase import XOSListCreateAPIView, XOSRetrieveUpdateDestroyAPIView, XOSPermissionDenied
-from xos.exceptions import *
-import json
-import subprocess
-
-class VTNViewSet(XOSViewSet):
- base_name = "vtn"
- method_name = "rs/vtn"
- method_kind = "viewset"
-
- # these are just because ViewSet needs some queryset and model, even if we don't use the
- # default endpoints
- queryset = Service.objects.none() # CordSubscriber.get_tenant_objects().select_related().all()
- model = Service
-
- @classmethod
- def get_urlpatterns(self):
- patterns = []
- patterns.append( self.list_url("services/$", {"get": "get_services"}, "services") )
- patterns.append( self.list_url("services_names/$", {"get": "get_services_names"}, "services") )
- patterns.append( self.list_url("services/(?P<service>[a-zA-Z0-9\-_]+)/$", {"get": "get_service"}, "get_service") )
-
- return patterns
-
- def get_services_names(self, request, pk=None):
- result = {}
- for service in Service.objects.all():
- for id in service.get_vtn_src_names():
- dependencies = service.get_vtn_dependencies_names()
- if dependencies:
- result[id] = dependencies
- return Response(result)
-
- def get_services(self, request, pk=None):
- result = {}
- for service in Service.objects.all():
- for id in service.get_vtn_src_ids():
- dependencies = service.get_vtn_dependencies_ids()
- if dependencies:
- result[id] = dependencies
- return Response(result)
-
- def get_service(self, request, pk=None, service=None):
- for xos_service in Service.objects.all():
- if service in xos_service.get_vtn_src_ids():
- return Response(xos_service.get_vtn_dependencies_ids())
- return Response([])
- # raise DoesNotExist()
-
- def list(self, request):
- raise Exception("Not Implemented")
-
diff --git a/xos/tosca/custom_types/exampleservice.m4._unused b/xos/tosca/custom_types/exampleservice.m4._unused
deleted file mode 100644
index 720913e..0000000
--- a/xos/tosca/custom_types/exampleservice.m4._unused
+++ /dev/null
@@ -1,31 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-# compile this with "m4 exampleservice.m4 > exampleservice.yaml"
-
-# include macros
-include(macros.m4)
-
-node_types:
- tosca.nodes.ExampleService:
- derived_from: tosca.nodes.Root
- description: >
- Example Service
- capabilities:
- xos_base_service_caps
- properties:
- xos_base_props
- xos_base_service_props
- service_message:
- type: string
- required: false
-
- tosca.nodes.ExampleTenant:
- derived_from: tosca.nodes.Root
- description: >
- A Tenant of the example service
- properties:
- xos_base_tenant_props
- tenant_message:
- type: string
- required: false
-
diff --git a/xos/tosca/custom_types/exampleservice.yaml._unused b/xos/tosca/custom_types/exampleservice.yaml._unused
deleted file mode 100644
index 2cd70dd..0000000
--- a/xos/tosca/custom_types/exampleservice.yaml._unused
+++ /dev/null
@@ -1,101 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-# compile this with "m4 exampleservice.m4 > exampleservice.yaml"
-
-# include macros
-# Note: Tosca derived_from isn't working the way I think it should, it's not
-# inheriting from the parent template. Until we get that figured out, use
-# m4 macros do our inheritance
-
-
-# Service
-
-
-# Subscriber
-
-
-
-
-# end m4 macros
-
-
-
-node_types:
- tosca.nodes.ExampleService:
- derived_from: tosca.nodes.Root
- description: >
- Example Service
- capabilities:
- scalable:
- type: tosca.capabilities.Scalable
- service:
- type: tosca.capabilities.xos.Service
- properties:
- no-delete:
- type: boolean
- default: false
- description: Do not allow Tosca to delete this object
- no-create:
- type: boolean
- default: false
- description: Do not allow Tosca to create this object
- no-update:
- type: boolean
- default: false
- description: Do not allow Tosca to update this object
- replaces:
- type: string
- required: false
- descrption: Replaces/renames this object
- kind:
- type: string
- default: generic
- description: Type of service.
- view_url:
- type: string
- required: false
- description: URL to follow when icon is clicked in the Service Directory.
- icon_url:
- type: string
- required: false
- description: ICON to display in the Service Directory.
- enabled:
- type: boolean
- default: true
- published:
- type: boolean
- default: true
- description: If True then display this Service in the Service Directory.
- public_key:
- type: string
- required: false
- description: Public key to install into Instances to allows Services to SSH into them.
- private_key_fn:
- type: string
- required: false
- description: Location of private key file
- versionNumber:
- type: string
- required: false
- description: Version number of Service.
- service_message:
- type: string
- required: false
-
- tosca.nodes.ExampleTenant:
- derived_from: tosca.nodes.Root
- description: >
- A Tenant of the example service
- properties:
- kind:
- type: string
- default: generic
- description: Kind of tenant
- service_specific_id:
- type: string
- required: false
- description: Service specific ID opaque to XOS but meaningful to service
- tenant_message:
- type: string
- required: false
-