AETHER-2874 Bootstrap Aether-2.x models

Change-Id: Ia987596109584df696aaa57703f9148075569422
diff --git a/config-models/aether-2.0.x/files/yang/onf-template.yang b/config-models/aether-2.0.x/files/yang/onf-template.yang
new file mode 100755
index 0000000..bbd94ef
--- /dev/null
+++ b/config-models/aether-2.0.x/files/yang/onf-template.yang
@@ -0,0 +1,104 @@
+// SPDX-FileCopyrightText: 2021 Open Networking Foundation
+//
+// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+module onf-template {
+  namespace "http://opennetworking.org/aether/template";
+  prefix tp;
+
+  import ietf-yang-types{ prefix yg; }
+  import onf-aether-types{ prefix at; }
+
+  organization "Open Networking Foundation.";
+  contact "Scott Baker";
+  description
+    "The aether vcs-template holds common parameters used
+     by a virtual connectivity service. Templates are used to
+     populate a VCS.";
+
+  revision "2021-09-10" {
+    description "An Aether Virtual Cellular Service Template";
+    reference "RFC 6087";
+  }
+
+  typedef template-id {
+        type yg:yang-identifier {
+            length 1..32;
+        }
+    description "The typedef for template-id";
+  }
+
+  container template {
+    description "The top level container";
+
+    list template {
+      key "id";
+      description
+        "List of vcs templates";
+
+      leaf id {
+        type template-id;
+        description "ID for this vcs template.";
+      }
+
+      leaf display-name {
+        type string {
+            length 1..80;
+        }
+        description "display name to use in GUI or CLI";
+      }
+
+      leaf sst {
+        type at:sst;
+        description "Slice/Service type";
+      }
+
+      leaf sd {
+        type at:sd;
+        description "Slice differentiator";
+      }
+
+      container slice {
+        description "Per-Slice QOS Settings";
+        container mbr {
+          description "Maximum bitrate";
+          leaf uplink {
+            type at:bitrate;
+            units bps;
+            description "Per-Slice MBR uplink data rate in bps";
+          }
+
+          leaf downlink {
+            type at:bitrate;
+            units bps;
+            description "Per-Slice MBR downlink data rate in bps";
+          }
+
+          leaf uplink-burst-size {
+            type at:burst;
+            units bytes;
+            description "Per-Slice Uplink burst size";
+          }
+
+          leaf downlink-burst-size {
+            type at:burst;
+            units bytes;
+            description "Per-Slice Downlink burst size";
+          }
+        }
+      }
+
+      leaf default-behavior {
+        type at:behavior;
+        mandatory true;
+        description
+          "Default behavior if no filter rules match";
+      }
+
+      leaf description {
+        type at:description;
+        description "description of this vcs template";
+      }
+    }
+  }
+}