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";

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

    // 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];
    optional 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];

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