Added slice to xos-core along with django-specific types (#7)

diff --git a/schema/xos-types.yang b/schema/xos-types.yang
new file mode 100644
index 0000000..0b786a4
--- /dev/null
+++ b/schema/xos-types.yang
@@ -0,0 +1,297 @@
+module xos-types {
+  namespace "urn:onlab:xos:types";
+  prefix xos-types;
+  yang-version 1.1;
+
+  organization
+   "Open Networking Lab (CORD) / Corenova Technologies";
+
+  contact
+    "Larry Peterson <llp@onlab.us>
+     Peter K. Lee <peter@corenova.com>";
+  
+  import ietf-yang-types { prefix yang; }
+  
+  revision 2016-09-12 {
+    description "Initial revision.";
+  }
+
+  grouping unique-identifier {
+    description "defines valid formats for external reference id";
+    type union {
+      type uint32 { range 1..max; }
+      type yang:uuid;
+      type inet:uri;
+    }
+  }
+
+  container refs {
+    grouping image {
+      uses unique-identifier;
+    }
+
+    grouping controller-network {
+      uses unique-identifier;
+    }
+
+    grouping site {
+      uses unique-identifier;
+    }
+
+    grouping tenant-root-role {
+      uses unique-identifier;
+    }
+
+    grouping slice-role {
+      uses unique-identifier;
+    }
+
+    grouping site-deployment {
+      uses unique-identifier;
+    }
+
+    grouping tenant-privilege {
+      uses unique-identifier;
+    }
+
+    grouping tag {
+      uses unique-identifier;
+    }
+
+    grouping user-credential {
+      uses unique-identifier;
+    }
+
+    grouping invoice {
+      uses unique-identifier;
+    }
+
+    grouping slice-privilege {
+      uses unique-identifier;
+    }
+
+    grouping flavor {
+      uses unique-identifier;
+    }
+
+    grouping port {
+      uses unique-identifier;
+    }
+
+    grouping service-role {
+      uses unique-identifier;
+    }
+
+    grouping controller-site {
+      uses unique-identifier;
+    }
+
+    grouping controller-slice {
+      uses unique-identifier;
+    }
+
+    grouping tenant-role {
+      uses unique-identifier;
+    }
+
+    grouping slice {
+      uses unique-identifier;
+    }
+
+    grouping network {
+      uses unique-identifier;
+    }
+
+    grouping controller-role {
+      uses unique-identifier;
+    }
+
+    grouping diag {
+      uses unique-identifier;
+    }
+
+    grouping service-class {
+      uses unique-identifier;
+    }
+
+    grouping tenant-attribute {
+      uses unique-identifier;
+    }
+
+    grouping site-role {
+      uses unique-identifier;
+    }
+
+    grouping subscriber {
+      uses unique-identifier;
+    }
+
+    grouping instance {
+      uses unique-identifier;
+    }
+
+    grouping charge {
+      uses unique-identifier;
+    }
+
+    grouping program {
+      uses unique-identifier;
+    }
+
+    grouping role {
+      uses unique-identifier;
+    }
+
+    grouping usable-object {
+      uses unique-identifier;
+    }
+
+    grouping node-label {
+      uses unique-identifier;
+    }
+
+    grouping slice-credential {
+      uses unique-identifier;
+    }
+
+    grouping node {
+      uses unique-identifier;
+    }
+
+    grouping address-pool {
+      uses unique-identifier;
+    }
+
+    grouping dashboard-view {
+      uses unique-identifier;
+    }
+
+    grouping network-parameter {
+      uses unique-identifier;
+    }
+
+    grouping image-deployments {
+      uses unique-identifier;
+    }
+
+    grouping controller-user {
+      uses unique-identifier;
+    }
+
+    grouping reserved-resource {
+      uses unique-identifier;
+    }
+
+    grouping network-template {
+      uses unique-identifier;
+    }
+
+    grouping controller-dashboard-view {
+      uses unique-identifier;
+    }
+
+    grouping user-dashboard-view {
+      uses unique-identifier;
+    }
+
+    grouping controller {
+      uses unique-identifier;
+    }
+
+    grouping user {
+      uses unique-identifier;
+    }
+
+    grouping deployment {
+      uses unique-identifier;
+    }
+
+    grouping reservation {
+      uses unique-identifier;
+    }
+
+    grouping site-privilege {
+      uses unique-identifier;
+    }
+
+    grouping payment {
+      uses unique-identifier;
+    }
+
+    grouping tenant {
+      uses unique-identifier;
+    }
+
+    grouping network-slice {
+      uses unique-identifier;
+    }
+
+    grouping account {
+      uses unique-identifier;
+    }
+
+    grouping tenant-root {
+      uses unique-identifier;
+    }
+
+    grouping service {
+      uses unique-identifier;
+    }
+
+    grouping controller-slice-privilege {
+      uses unique-identifier;
+    }
+
+    grouping site-credential {
+      uses unique-identifier;
+    }
+
+    grouping deployment-privilege {
+      uses unique-identifier;
+    }
+
+    grouping network-parameter-type {
+      uses unique-identifier;
+    }
+
+    grouping provider {
+      uses unique-identifier;
+    }
+
+    grouping tenant-with-container {
+      uses unique-identifier;
+    }
+
+    grouping deployment-role {
+      uses unique-identifier;
+    }
+
+    grouping project {
+      uses unique-identifier;
+    }
+
+    grouping tenant-root-privilege {
+      uses unique-identifier;
+    }
+
+    grouping slice-tag {
+      uses unique-identifier;
+    }
+
+    grouping coarse-tenant {
+      uses unique-identifier;
+    }
+
+    grouping router {
+      uses unique-identifier;
+    }
+
+    grouping service-resource {
+      uses unique-identifier;
+    }
+
+    grouping service-privilege {
+      uses unique-identifier;
+    }
+  }
+}