Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / yang / o-ran-sc / o-ran-ru / o-ran-sc-interfaces-v1.yang
diff --git a/ntsimulator/yang/o-ran-sc/o-ran-ru/o-ran-sc-interfaces-v1.yang b/ntsimulator/yang/o-ran-sc/o-ran-ru/o-ran-sc-interfaces-v1.yang
new file mode 100644 (file)
index 0000000..4f54d43
--- /dev/null
@@ -0,0 +1,108 @@
+module o-ran-sc-interfaces-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran:sc:interfaces:1.0";
+  prefix oif;
+
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import ietf-interfaces {
+    prefix if;
+    reference
+      "RFC 8343: A YANG Data Model for Interface Management";
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module augements the o-ran-sc-controlled-function object by adding
+     ietf-interfaces.
+
+     Copyright 2020 the O-RAN Alliance.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-03-09 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  identity a1-interface {
+    base if:interface-type;
+    description
+      "Represents an O-RAN A1 interface towards SMO.";
+    reference
+      "O-RAN OAM interface specification.";
+  }
+
+  identity e1-interface {
+    base if:interface-type;
+    description
+      "Represents an O-RAN E1 interface.";
+    reference
+      "O-RAN OAM interface specification.";
+  }
+
+  identity e2-interface {
+    base if:interface-type;
+    description
+      "Represents an O-RAN E2 interface towards Near Real Time RIC.";
+    reference
+      "O-RAN OAM interface specification.";
+  }
+
+  identity f1-interface {
+    base if:interface-type;
+    description
+      "Represents an O-RAN F1 interface.";
+    reference
+      "O-RAN OAM interface specification.";
+  }
+
+  identity o1-interface {
+    base if:interface-type;
+    description
+      "Represents an O-RAN OAM interface towards SMO.";
+    reference
+      "O-RAN OAM interface specification.";
+  }
+
+  identity open-fronthaul-interface {
+    base if:interface-type;
+    description
+      "Represents an O-RAN Open Fronthaul interface towards an O-DU.";
+    reference
+      "O-RAN OAM interface specification.";
+  }
+
+  grouping interfaces-grp {
+    leaf-list interface-reference  {
+      type if:interface-ref;
+      config false;
+      description 
+        "A list of ietf-interfaces references using the interface name as key.";
+    }
+    description 
+      "A group adding ietf-interface references.";
+  }
+  augment "/root:controlled-element/root:controlled-function" {
+    uses interfaces-grp;
+    description
+      "An augmentation, which adds ietf-interfaces 
+       to root:controlled-function.";
+  }
+}