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