import helm charts from sdran-helm-charts

- Fixed licensing issues

Change-Id: Ib4f726a6359e340884d329a801eb0b498d7bbb38
diff --git a/config-models/aether-4.x/files/yang/onf-vcs.yang b/config-models/aether-4.x/files/yang/onf-vcs.yang
new file mode 100755
index 0000000..7a7487d
--- /dev/null
+++ b/config-models/aether-4.x/files/yang/onf-vcs.yang
@@ -0,0 +1,188 @@
+// SPDX-FileCopyrightText: 2021 Open Networking Foundation
+//
+// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+module onf-vcs {
+  namespace "http://opennetworking.org/aether/vcs";
+  prefix sl;
+
+  import ietf-yang-types{ prefix yg; }
+  import onf-aether-types{ prefix at; }
+  import onf-application{ prefix app; }
+  import onf-device-group{ prefix dg; }
+  import onf-enterprise{ prefix ent; }
+  import onf-template{ prefix vt; }
+  import onf-traffic-class{ prefix tc; }
+  import onf-upf { prefix upf; }
+
+  organization "Open Networking Foundation.";
+  contact "Scott Baker";
+  description 
+    "An Aether Virtual Cellular Service (VCS) is
+     used to connect devices with applications";
+
+  revision "2021-09-10" {
+    description "An Aether Virtual Cellular Service";
+    reference "RFC 6087";
+  }
+
+  typedef vcs-id {
+        type yg:yang-identifier {
+            length 1..32;
+        }
+  }
+
+  container vcs {
+    description "The top level container";
+
+    list vcs {
+      key "id";
+      description
+        "List of virtual cellular services";
+
+      leaf id {
+        type vcs-id;
+        description "ID for this vcs.";
+      }
+
+      leaf display-name {
+        type string {
+            length 1..80;
+        }
+        description "display name to use in GUI or CLI";
+      }
+
+      list device-group {
+        key "device-group";   
+        leaf device-group {
+          type leafref {
+            path "/dg:device-group/dg:device-group/dg:id";
+          }          
+          description
+            "Link to device group";          
+        }
+        leaf enable {
+          type boolean;
+          default true;
+          description
+            "Enable this device group";
+        }
+        description
+          "A list of device groups. Groups will only participate in
+           the VCS if the enable field is set to True";
+      }         
+
+      leaf template {
+        type leafref {
+          path "/vt:template/vt:template/vt:id";
+        }          
+        description
+          "Link to user vcs template that was used to initialize
+           this VCS";
+      }
+
+      list application {
+        key "application";   
+        leaf application {
+          type leafref {
+            path "/app:application/app:application/app:id";
+          }
+          mandatory true;
+          description
+            "Link to application";
+        }
+        leaf allow {
+          type boolean;
+          default true;
+          description
+            "Allow or deny this application";
+        }
+        description
+          "An ordered list of applications to allow and deny. The deny rules
+           will be executed first, followed by the allow rules. The first rule
+           to match is returned. An implicit DENY ALL lies at the end.";
+      }      
+
+      leaf upf {
+        type leafref {
+          path "/upf:upf/upf:upf/upf:id";
+        }          
+        description
+          "Link to user plane that implements this vcf";
+      }
+
+      leaf description {
+        type at:description;
+        description "description of this vcs";
+      }
+
+      leaf enterprise {
+        type leafref {
+          path "/ent:enterprise/ent:enterprise/ent:id";
+        }
+        mandatory true;
+        description
+          "Link to enterprise that owns this VCS";
+      }      
+
+      // the following are populated from the template
+      leaf sst {
+        type at:sst;
+        mandatory true;
+        description "Slice/Service type. Immutable.";
+      }
+      
+      leaf sd {
+        type at:sd;
+        mandatory true;
+        description "Slice differentiator. Immutable.";
+      }
+
+      container device {
+        description "Per-device QOS Settings";
+        container mbr {
+          description "Maximum bitrate";
+          leaf uplink {
+            type at:bitrate;
+            units bps;
+            description "Per-device mbr uplink data rate in mbps";
+          }
+
+          leaf downlink {
+            type at:bitrate;
+            units bps;
+            description "Per-device mbr downlink data rate in mbps";
+          }
+        }
+      }
+
+      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 mbps";
+          }
+
+          leaf downlink {
+            type at:bitrate;
+            units bps;
+            description "Per-Slice mbr downlink data rate in mbps";
+          }
+        }
+      }
+
+      leaf traffic-class {
+        type leafref {
+          path "/tc:traffic-class/tc:traffic-class/tc:id";
+        }
+        mandatory true;
+        description
+          "Link to traffic class";
+      }
+      // end of items populated from the template
+    }
+  } 
+}