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 link_status = 21 [
        help_text = "connectivity status, whether OLT has connectivity to agg switch",
        choices = "(('up', 'up'), ('down', 'down'))",
        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];
}
