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

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

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

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

    required manytoone volt_service->VOLTService:volt_devices = 1:1001 [
        help_text = "VOLTService that owns this OLT",
        db_index = True];
    optional string name = 2 [
        help_text = "Human-readable name of device",
        max_length = 254,
        unique = True];
    required string device_type = 3 [
        help_text = "Phyiscal Device Type",
        default = "openolt",
        max_length = 254];
    optional string host = 4 [
        help_text = "IP Address of physical OLT Device",
        max_length = 254];
    optional int32 port = 5 [
        help_text = "Port Number of physical OLT Device",
        unique_with = "host"];
    optional string mac_address = 6 [
        help_text = "Mac address of physical OLT Device"];

    optional string serial_number = 9 [
        help_text = "Serial Number"];
    optional string device_id = 10 [
        help_text = "Voltha Device ID",
        feedback_state = True];
    optional string admin_state = 11 [
        help_text = "admin state, whether OLT should be enabled",
        choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
        default = "ENABLED"];
    optional string oper_status = 12 [
        help_text = "operational status, whether OLT is active",
        feedback_state = True];
    optional string of_id = 13 [
        help_text = "Logical device openflow id",
        feedback_state = True];
    optional string dp_id = 14 [
        help_text = "Logical device datapath id"];

    required string uplink = 15 [
        help_text = "uplink port, exposed via sadis"];
    required string driver = 16 [
        help_text = "DEPRECATED",
        default = "voltha"];  // Used to be sent to ONOS, now unused.

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

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

message PortBase (XOSBase){
    option gui_hidden = True;
    option description = "Base class for Port objects";

    required string name = 1 [
        help_text = "Human-readable name of port",
        db_index = True];
    required int32 port_no = 3 [
        help_text = "Port Number"];

    optional string admin_state = 4 [
        help_text = "admin state, whether port should be enabled",
        feedback_state = True];
    optional string oper_status = 5 [
        help_text = "operational status, whether port is active",
        feedback_state = True];
}

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

    required manytoone olt_device->OLTDevice:pon_ports = 1:1001 [
        help_text = "OLTDevice that owns this PONPort",
        db_index = True];
}

message NNIPort (PortBase) {
    option verbose_name = "NNI Port";
    option description = "NNI Port";

    required manytoone olt_device->OLTDevice:nni_ports = 1:1002 [
        help_text = "OLTDevice that owns this NNIPort",
        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 [
        help_text = "PONPort that connects this ONUDevice to an OLTDevice",
        db_index = True];
    required string serial_number = 2 [
        help_text = "Serial number of ONU Device",
        max_length = 254,
        tosca_key=True,
        unique = True];
    required string vendor = 3 [
        help_text = "Vendor of ONU Device",
        max_length = 254];
    required string device_type = 4 [
        help_text = "Device Type",
        default = "asfvolt16_olt",
        max_length = 254];

    optional string device_id = 5 [
        help_text = "Voltha Device ID",
        feedback_state = True,
        max_length = 254];
    optional string admin_state = 6 [
        help_text = "admin state, whether port should be enabled",
        choices = "(('DISABLED', 'DISABLED'), ('ENABLED', 'ENABLED'))",
        default = "ENABLED"];
    optional string oper_status = 7 [
        help_text = "oper_status",
        feedback_state = True];
    optional string connect_status = 8 [
        help_text = "operational status, whether port is active",
        feedback_state = True];
    optional string reason = 9 [
        help_text = "ONU device configuration state machine status message",
        feedback_state = True];
}

message PONONUPort (PortBase) {
    option verbose_name = "ANI Port";
    option description="Access Node Interface Port";
    required manytoone onu_device->ONUDevice:pononu_ports = 1:1001 [
        help_text = "ONUDevice that owns this PONONUPort",
        db_index = True];
}

message UNIPort (PortBase) {
    option verbose_name = "UNI Port";
    option description = "User Network Interface Port";
    required manytoone onu_device->ONUDevice:uni_ports = 1:1002 [
        help_text = "ONUDevice that owns this UNIPort",
        db_index = True];
}

message VOLTServiceInstance (ServiceInstance){
    option kind = "vOLT";
    option owner_class_name = "VOLTService";
    option verbose_name = "vOLT Service Instance";
    option description = "Represents subscriber tenancy in the VOLT Service";

    optional string description = 1 [
        help_text = "Human-readable description",
        max_length = 254];
    optional manytoone onu_device->ONUDevice:volt_service_instances = 2:1003 [
        help_text = "ONUDevice that belongs to this Subscriber chain",
        db_index = True];
}
