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

message RCORDService (Service) {
    option verbose_name = "RCORD Service";
    option description = "Service that manages residential subscribers";

    required string access = 11 [
        help_text = "Name of service that is managing the Access Network",
        default = "voltha", choices = "(('voltha', 'VOLTHA'), ('unknown', 'Unknown'))",
        max_length = 30];
}

message BandwidthProfile(XOSBase) {
    option verbose_name = "Bandwidth Profile";
    option description = "The Bandwidth Profile assinged to a residential subscriber";

    // TODO add help_text
    required string name = 3 [
        help_text = "Name of bandwidth profile",
        max_length = 256];
    required int32 cir = 4;
    required int32 cbs = 5;
    required int32 eir = 6;
    required int32 ebs = 7;
    required int32 air = 8;
}

message RCORDSubscriber (ServiceInstance) {
    option kind = "RCORDSubscriber";
    option verbose_name = "RCORD Subscriber";
    option owner_class_name = "RCORDService";
    option description = "A residential subscriber";
    option policy_implemented = "True";
    option sync_implemented = "True";

    // vsg related configurations
    optional manytoone creator->User:created_rcord_subscribers = 15 [
        help_text = "User who created this RCORDSubscriber object",
        db_index = True];
    optional string status = 11 [
        help_text = "Status of subscriber provisioning and authentication",
        content_type = "stripped",
        default = "enabled",
        choices = "(('enabled', 'Enabled'), ('disabled', 'Disabled'), ('pre-provisioned', 'Pre Provisioned'), ('awaiting-auth', 'Awaiting Authentication'), ('auth-failed', 'Authentication Failed'))",
        max_length = 30];

    // parameters for r-cord lite
    optional int32 c_tag = 12 [
        help_text = "Customer VLAN Tag, one half of the double-tag that identifies this subscriber's traffic",
        min_value = 0,
        max_value = 4096];
    optional int32 s_tag = 19 [
        help_text = "Service VLAN Tag, one half of the double-tag that identifies this subscriber's traffic",
        min_value = 0,
        max_value = 4096];
    required string onu_device = 13 [
        help_text = "ONUDevice serial number",
        max_length = 256,
        tosca_key = True];
    optional string mac_address = 18 [
        help_text = "Subscriber MAC Address",
        max_length = 256];
    required int32 tech_profile_id = 23 [
        help_text = "Technology profile id to be used along with Technology type to retreive the profile",
        min_value = 0,
        max_value = 65535];

    // operator specific fields
    optional string nas_port_id = 20 [
        help_text = "NAS Port ID used in Radius to identify physical interface used to authenticate subscriber",
        max_length = 256];
    optional string circuit_id = 21 [
        help_text = "Option 82 Circuit ID for DHCP relay agent",
        max_length = 256];
    optional string remote_id = 22 [
        help_text = "Option 82 Remote ID for DHCP relay agent",
        max_length = 256];

    required manytoone upstream_bps->BandwidthProfile:us_subscriber = 31:1001 [
        help_text = "The subscriber the IP address belongs to"];
    required manytoone downstream_bps->BandwidthProfile:ds_subscriber = 32:1002 [
        help_text = "The subscriber the IP address belongs to"];
}

message RCORDIpAddress(XOSBase) {
    option verbose_name = "IP address";
    option description = "An IP Address assinged to a residential subscriber";

    required manytoone subscriber->RCORDSubscriber:ips = 1:1001 [
        help_text = "The subscriber the IP address belongs to",
        db_index = True];
    required string ip = 2 [
        help_text = "The unique IP address (either IPv4 or IPv6 / netmask)",
        max_length = 52,
        unique_with = "subscriber"];
    optional string description = 3 [
        help_text = "A short description of the IP address",
        text = True];
}
