option name = "volt";
option app_label = "volt";
option legacy="True";

message VOLTService (Service){
    option verbose_name = "vOLT Service";
    option kind = "vOLT";

    required string voltha_url = 1 [help_text = "The Voltha API address. By default voltha.voltha.svc.cluster.local", default = "voltha.voltha.svc.cluster.local", max_length = 254, db_index = False];
    required int32 voltha_port = 2 [help_text = "The Voltha API port. By default 8882", default=8882, db_index = False];
    required string voltha_user = 3 [help_text = "The Voltha username. By default voltha", default="voltha", max_length = 254, db_index = False];
    required string voltha_pass = 4 [help_text = "The Voltha password. By default admin", default="admin", max_length = 254, db_index = False];
    required string onos_voltha_url = 5 [help_text = "The ONOS Voltha address. By default onos-voltha-ui.voltha.svc.cluster.local", default="onos-voltha-ui.voltha.svc.cluster.local", max_length = 254, db_index = False];
    required int32 onos_voltha_port = 6 [help_text = "The Voltha API port. By default 8181", default=8181, db_index = False];
    required string onos_voltha_user = 7 [help_text = "The ONOS Voltha username. By default sdn", max_length = 254, default="onos", db_index = False];
    required string onos_voltha_pass = 8 [help_text = "The ONOS Voltha password. By default rocks", max_length = 254, default="rocks", db_index = False];
}

message OLTDevice (XOSBase){
    option verbose_name = "OLT Device";
    option description="Represents a physical OLT device";

    required manytoone volt_service->VOLTService:volt_devices = 1:1001 [db_index = True];
    optional string name = 2 [help_text = "name of device", max_length = 254, db_index = False, unique = True];
    required string device_type = 3 [help_text = "Device Type", default = "openolt", max_length = 254, db_index = False];
    optional string host = 4 [help_text = "Device IP", max_length = 254, db_index = False];
    optional int32 port = 5 [help_text = "Device port", db_index = False];
    optional string mac_address = 6 [help_text = "Device mac address", db_index = False];

    optional string serial_number = 9 [help_text = "Serial Number", db_index = False];
    optional string device_id = 10 [help_text = "Device ID", db_index = False, feedback_state = True];
    optional string admin_state = 11 [help_text = "admin_state", db_index = False, feedback_state = True];
    optional string oper_status = 12 [help_text = "oper_status", db_index = False, feedback_state = True];
    optional string of_id = 13 [help_text = "openflow id", db_index = False, feedback_state = True];
    optional string dp_id = 14 [help_text = "datapath id", db_index = False];

    required string driver = 16 [default="voltha", help_text = "Olt driver", db_index = False];

    optional string switch_datapath_id = 17 [help_text = "Fabric switch to which the OLT is connected", db_index = False];
    optional string switch_port = 18 [help_text = "Fabric port to which the OLT is connected", db_index = False];
    optional string outer_tpid = 19 [help_text = "Outer VLAN id field EtherType", db_index = False];

    optional string nas_id = 20 [help_text = "Authentication ID (propagated to the free-radius server via sadis)", db_index = False];
}

message PortBase (XOSBase){
    option gui_hidden = True;

    required string name = 1 [db_index = True];
    required int32 port_no = 3 [help_text = "Port ID", db_index = False];

    optional string admin_state = 4 [help_text = "admin_state", db_index = False, feedback_state = True];
    optional string oper_status = 5 [help_text = "oper_status", db_index = False, feedback_state = True];
}

message PONPort (PortBase){
    option verbose_name = "PON Port";
    option description="PON Port";

    required manytoone olt_device->OLTDevice:pon_ports = 1:1001 [db_index = True];
}

message NNIPort (PortBase) {
    option verbose_name = "NNI Port";
    required manytoone olt_device->OLTDevice:nni_ports = 1:1002 [db_index = True];
}

message ONUDevice (XOSBase){
    option verbose_name = "ONU Device";
    option description = "Represents a physical ONU device";

    required manytoone pon_port->PONPort:onu_devices = 1:1001 [db_index = True];
    required string serial_number = 2 [max_length = 254, db_index = False, tosca_key=True, unique = True];
    required string vendor = 3 [max_length = 254, db_index = False];
    required string device_type = 4 [help_text = "Device Type", default = "asfvolt16_olt", max_length = 254, db_index = False];

    optional string device_id = 5 [max_length = 254, db_index = False, feedback_state = True];
    optional string admin_state = 6 [choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))", default="ENABLED", help_text = "admin_state", db_index = False];
    optional string oper_status = 7 [help_text = "oper_status", db_index = False, feedback_state = True];
    optional string connect_status = 8 [help_text = "connect_status", db_index = False, feedback_state = True];
}

message PONONUPort (PortBase) {
    option verbose_name = "ANI Port";
    option description="ANI Port";
    required manytoone onu_device->ONUDevice:pononu_ports = 1:1001 [db_index = True];
}

message UNIPort (PortBase) {
    option verbose_name = "UNI Port";
    required manytoone onu_device->ONUDevice:uni_ports = 1:1002 [db_index = True];
}

message VOLTServiceInstance (ServiceInstance){
    option kind = "vOLT";
    option owner_class_name = "VOLTService";
    option verbose_name = "vOLT Service Instance";

    optional string description = 1 [max_length = 254, db_index = False];
    optional manytoone onu_device->ONUDevice:volt_service_instances = 2:1003 [db_index = True];
}
