blob: 048d6507e07b4066c035e267bb275f66657d45f8 [file] [log] [blame]
Sapan Bhatia8fc7eb32017-05-05 20:43:43 +02001option name = "volt";
2option verbose_name = "vOLT Service";
3
4message CordSubscriberRoot (TenantRoot){
5 option kind = "CordSubscriberRoot";
6
7 required bool firewall_enable = 1 [default = False, null = False, db_index = False, blank = True];
8 optional string firewall_rules = 2 [default = "accept all anywhere anywhere", null = True, db_index = False, blank = True];
9 required bool url_filter_enable = 3 [default = False, null = False, db_index = False, blank = True];
10 optional string url_filter_rules = 4 [default = "allow all", null = True, db_index = False, blank = True];
11 required string url_filter_level = 5 [default = "PG", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
12 required bool cdn_enable = 6 [default = False, null = False, db_index = False, blank = True];
13 required bool is_demo_user = 7 [default = False, null = False, db_index = False, blank = True];
14 required int32 uplink_speed = 8 [default = 1000000000, null = False, db_index = False, blank = False];
15 required int32 downlink_speed = 9 [default = 1000000000, null = False, db_index = False, blank = False];
16 required bool enable_uverse = 10 [default = True, null = False, db_index = False, blank = True];
17 required string status = 11 [default = "enabled", choices = "(('enabled', 'Enabled'), ('suspended', 'Suspended'), ('delinquent', 'Delinquent'), ('copyrightviolation', 'Copyright Violation'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
18}
19
20message VOLTService (Service){
21 option kind = "vOLT";
22}
23
24message VOLTTenant (Tenant){
25 option kind = "vOLT";
26 option verbose_name = "vOLT Tenant";
27
28 optional int32 s_tag = 1 [help_text = "s-tag", null = True, db_index = False, blank = True];
29 optional int32 c_tag = 2 [help_text = "c-tag", null = True, db_index = False, blank = True];
30 optional manytoone creator->User:created_volts = 3 [db_index = True, null = True, blank = True];
31}
32
33message AccessAgent (PlCoreBase){
34 required string name = 1 [help_text = "name of agent", max_length = 254, null = False, db_index = False, blank = False];
35 required manytoone volt_service->VOLTService:access_agents = 2 [db_index = True, null = False, blank = False];
36 optional string mac = 3 [help_text = "MAC Address or Access Agent", max_length = 32, null = True, db_index = False, blank = True];
37}
38
39message VOLTDevice (PlCoreBase){
40 option verbose_name = "vOLT Device";
41
42 required string name = 1 [help_text = "name of device", max_length = 254, null = False, db_index = False, blank = False];
43 required manytoone volt_service->VOLTService:volt_devices = 2 [db_index = True, null = False, blank = False];
44 optional string openflow_id = 3 [help_text = "OpenFlow ID", max_length = 254, null = True, db_index = False, blank = True];
45 optional string driver = 4 [help_text = "driver", max_length = 254, null = True, db_index = False, blank = True];
46 optional manytoone access_agent->AccessAgent:volt_devices = 5 [db_index = True, null = True, blank = True];
47}
48
49message AccessDevice (PlCoreBase){
50 required manytoone volt_device->VOLTDevice:access_devices = 1 [db_index = True, null = False, blank = False];
51 optional int32 uplink = 2 [db_index = False, null = True, blank = True];
52 optional int32 vlan = 3 [db_index = False, null = True, blank = True];
53}
54
55message AgentPortMapping (PlCoreBase){
56 required manytoone access_agent->AccessAgent:port_mappings = 1 [db_index = True, null = False, blank = False];
57 optional string mac = 2 [help_text = "MAC Address", max_length = 32, null = True, db_index = False, blank = True];
58 optional string port = 3 [help_text = "Openflow port ID", max_length = 32, null = True, db_index = False, blank = True];
59}