[SEBA-351] Adding bandwidth profiles to the Subscriber and setting up a default one

Change-Id: Ib4c66652e5b6da24e08509805cd189bb090375d7
diff --git a/xos/synchronizer/models/models.py b/xos/synchronizer/models/models.py
index a9fbace..aa859ea 100644
--- a/xos/synchronizer/models/models.py
+++ b/xos/synchronizer/models/models.py
@@ -17,7 +17,11 @@
 import random
 
 from xos.exceptions import XOSValidationError, XOSProgrammingError, XOSPermissionDenied
-from models_decl import RCORDService_decl, RCORDSubscriber_decl, RCORDIpAddress_decl
+from models_decl import RCORDService_decl, RCORDSubscriber_decl, RCORDIpAddress_decl, BandwidthProfile_decl
+
+class BandwidthProfile(BandwidthProfile_decl):
+    class Meta:
+        proxy = True
 
 class RCORDService(RCORDService_decl):
     class Meta:
diff --git a/xos/synchronizer/models/rcord.xproto b/xos/synchronizer/models/rcord.xproto
index 13df2f6..0e84d0f 100644
--- a/xos/synchronizer/models/rcord.xproto
+++ b/xos/synchronizer/models/rcord.xproto
@@ -12,6 +12,19 @@
         max_length = 30];
 }
 
+message BandwidthProfile(XOSBase) {
+    option verbose_name = "Bandwidth Profile";
+    option description = "The Bandwidth Profile assinged to a residential subscriber";
+
+    // TODO add help_text
+    required string name = 3;
+    required int32 cir = 4;
+    required int32 cbs = 5;
+    required int32 eir = 6;
+    required int32 ebs = 7;
+    required int32 air = 8;
+}
+
 message RCORDSubscriber (ServiceInstance) {
     option kind = "RCORDSubscriber";
     option verbose_name = "RCORD Subscriber";
@@ -50,6 +63,11 @@
         help_text = "Option 82 Circuit ID for DHCP relay agent"];
     optional string remote_id = 22 [
         help_text = "Option 82 Remote ID for DHCP relay agent"];
+
+    required manytoone upstream_bps->BandwidthProfile:us_subscriber = 31:1001 [
+        help_text = "The subscriber the IP address belongs to"];
+    required manytoone downstream_bps->BandwidthProfile:ds_subscriber = 32:1002 [
+        help_text = "The subscriber the IP address belongs to"];
 }
 
 message RCORDIpAddress(XOSBase) {