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, null = False, db_index = False, blank = False];
    required int32 voltha_port = 2 [help_text = "The Voltha API port. By default 8882", default=8882, null = False, db_index = False, blank = False];
    required string voltha_user = 3 [help_text = "The Voltha username. By default voltha", default="voltha", max_length = 254, null = False, db_index = False, blank = False];
    required string voltha_pass = 4 [help_text = "The Voltha password. By default admin", default="admin", max_length = 254, null = False, db_index = False, blank = 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, null = False, db_index = False, blank = False];
    required int32 onos_voltha_port = 6 [help_text = "The Voltha API port. By default 8181", default=8181, null = False, db_index = False, blank = False];
    required string onos_voltha_user = 7 [help_text = "The ONOS Voltha username. By default sdn", max_length = 254, default="onos", null = True, db_index = False, blank = False];
    required string onos_voltha_pass = 8 [help_text = "The ONOS Voltha password. By default rocks", max_length = 254, default="rocks", null = True, db_index = False, blank = False];
}

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

    required manytoone volt_service->VOLTService:volt_devices = 1 [db_index = True, null = False, blank = False];
    optional string name = 2 [help_text = "name of device", max_length = 254, null = True, db_index = False, blank = True, unique = True];
    required string device_type = 3 [help_text = "Device Type", default = "asfvolt16_olt", max_length = 254, null = False, db_index = False, blank = False, tosca_key=True];
    required string host = 4 [help_text = "Host", max_length = 254, null = False, db_index = False, blank = False, tosca_key=True];
    required int32 port = 5 [help_text = "Fabric port", null = False, db_index = False, blank = False, tosca_key=True];

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

    required string uplink = 15 [default="129", help_text = "uplink port", null = False, db_index = False, blank = False];
    required string driver = 16 [default="voltha", help_text = "Olt driver", null = True, db_index = False, blank = False];

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

message PortBase (XOSBase){
    option gui_hidden = True;

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

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

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

    required manytoone olt_device->OLTDevice:pon_ports = 1 [db_index = True, null = False, blank = False];
    required int32 s_tag = 2 [help_text = "S Tag", null = False, db_index = False, blank = False];
}

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

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

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

    optional string device_id = 5 [max_length = 254, null = True, db_index = False, blank = False, feedback_state = True];
    optional string admin_state = 6 [help_text = "admin_state", null = True, db_index = False, blank = False, feedback_state = True];
    optional string oper_status = 7 [help_text = "oper_status", null = True, db_index = False, blank = False, feedback_state = True];
    optional string connect_status = 8 [help_text = "connect_status", null = True, db_index = False, blank = False, feedback_state = 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, null = True, db_index = False, blank = True];
    optional manytoone onu_device->ONUDevice:volt_service_instances = 1 [db_index = True, null = True, blank = False];
}