module cord-core {
  
  namespace "urn:onlab:cord";
  prefix cord;
  yang-version 1.1;

  organization
   "Open Networking Lab (CORD) / Corenova Technologies";

  contact
    "Larry Peterson <llp@onlab.us>
     Peter K. Lee <peter@corenova.com>";

  description
   "This module contains a collection of core models for CORD.

    Copyright (c) 2016 ON.LAB and the persons identified as authors of
    the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, is permitted pursuant to, and subject to the license
    terms of the Apache License, Version 2.0 which accompanies this
    distribution, and is available at
    (http://www.apache.org/licenses/LICENSE-2.0).";
  
  revision 2016-07-22 {
    description "Initial revision.";
  }

  import xos-core        { prefix xos; }
  import cord-subscriber { prefix csub; }
  import corenova-node   { prefix node; }
  
  /*** primary configuration tree for this module ***/
  
  list subscriber {
    uses csub:subscriber-controller;
    key "id";

    description
      "Authorative list of all subscriber instances";

    leaf humanReadableName {
      config false;
      type string {
        pattern '^cordSubscriber-\w+$';
      }
    }
    action delete;
  }

  // here we augment the /api/tenant API configuration tree in 'xos' module
  augment "/xos:api/xos:tenant" {
    container cord {
      node:link subscriber { path "/cord:subscriber"; }
    }
  }
}
