option name = "metronet";

message EnterpriseLocation (PlCoreBase){
     option verbose_name = "Enterprise Localation";

     required string name = 1 [db_index = False, max_length = 256, null = False, blank = False];
     required string cord_site_ip = 2 [help_text = "ip of the local site", db_index = False, max_length = 64, null = False, blank = False];
     required int32 cord_site_port = 3 [help_text = "port of the local site", db_index = False, null = False, blank = False];
     required string cord_site_username = 4 [help_text = "username of the local site", db_index = False, max_length = 64, null = False, blank = False];
     required string cord_site_password  = 5 [help_text = "password of the local site", db_index = False, max_length = 64, null = False, blank = False];
     required string cord_site_type = 6 [default = "xos", choices = "(('onos', 'ONOS'), ('xos', 'XOS'))", db_index = False, max_length = 64, null = False, blank = False];

}

message OnosModel (PlCoreBase){
     option verbose_name = "Open Network Operating System";

     required string name = 1 [db_index = False, max_length = 256, null = False, blank = False];
     required string onos_ip = 2 [help_text = "ip of the transport manager", db_index = False, max_length = 64, null = False, blank = False];
     required int32 onos_port = 3 [help_text = "port of the transport manager", db_index = False, null = False, blank = False];
     required string onos_username = 4 [help_text = "username of the transport manager", db_index = False, max_length = 64, null = False, blank = False];
     required string onos_password  = 5 [help_text = "password of the transport manager", db_index = False, max_length = 64, null = False, blank = False];
     required string onos_type = 6 [default = "local", choices = "(('local', 'Local'), ('global', 'Global'))", db_index = False, max_length = 64, null = False, blank = False];

}

message UserNetworkInterface (PlCoreBase){
     option verbose_name = "User Network Interface";

     required string tenant = 1 [help_text = "tenat name",db_index = False, max_length = 256, null = False, blank = False];
     required string cpe_id = 2 [db_index = False, max_length = 1024, null = False, blank = False];
     required string latlng = 3 [help_text = "location, i.e. [37.773972, -122.431297]", db_index = False, max_length = 256, null = False, blank = False];
     optional string name = 4 [db_index = False, max_length = 256, null = False, blank = False];
}


message BandwidthProfile (PlCoreBase){
     option verbose_name = "Bandwidth Profile";

     required string name = 1 [db_index = False, max_length = 256, null = False, blank = False];
     required int32 cbs = 2 [help_text = "committed burst size", db_index = False, null = False, blank = False];
     required int32 ebs = 3 [help_text = "expected burst size", db_index = False, null = False, blank = False];
     required int32 cir = 4 [help_text = "committed information rate", db_index = False, null = False, blank = False];
     required int32 eir = 5 [help_text = "expected information rate", db_index = False, null = False, blank = False];

}

message ELine (PlCoreBase){
     option verbose_name = "Ethernet Virtual Private Line";

     required string name = 1 [db_index = False, max_length = 256, null = False, blank = False];
     required string connect_point_1_id = 2 [db_index = False, max_length = 256, null = False, blank = False];
     required string connect_point_2_id = 3 [db_index = False, max_length = 64, null = False, blank = False];
     required string vlanids = 4 [help_text = "comma separated list of vlanIds", db_index = False, null = False, blank = False];
     required string cord_site_name = 5 [db_index = False, max_length = 64, null = False, blank = False];
     required string bwp  = 6 [help_text = "bandwidth profile name", db_index = False, max_length = 256, null = False, blank = False];

}

