option name = "volt";
option app_label = "volt";

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];
    required string onu_provisioning = 9 [help_text = "If to automatically discover and provision the ONU or not", default = "allow_all", choices = "(('allow_all', 'Allow All'), ('pre_provisioned', 'Pre-provisione'), ('oss', 'OSS'))", null = False, db_index = False, blank = False];
}

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];
}

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 ONUDevice (XOSBase){
    option verbose_name = "ONU Device";
    option description = "Represents a physical ONU device";

    required manytoone volt_device->OLTDevice:onu_devices = 1 [db_index = True, null = False, blank = False];
    required string serial_number = 1 [max_length = 254, null = False, db_index = False, blank = False];
}

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

    required string name = 1 [db_index = True, null = False, blank = False, unique_with="olt_device"];
    required manytoone olt_device->OLTDevice:ports = 2 [db_index = True, null = False, blank = False];
    required string port_id = 3 [help_text = "Port ID", max_length = 254, null = False, db_index = False, blank = False];
    required int32 s_tag = 4 [help_text = "S Tag", null = False, db_index = False, blank = False];
}
