Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / yang / o-ran-sc / o-ran-ru / o-ran-sc-hardware-v1.yang
diff --git a/ntsimulator/yang/o-ran-sc/o-ran-ru/o-ran-sc-hardware-v1.yang b/ntsimulator/yang/o-ran-sc/o-ran-ru/o-ran-sc-hardware-v1.yang
new file mode 100644 (file)
index 0000000..fc08229
--- /dev/null
@@ -0,0 +1,89 @@
+module o-ran-sc-hardware-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran:sc:hardware:1.0";
+  prefix ohw;
+
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import ietf-hardware {
+    prefix hw;
+    reference
+      "RFC 8348: A YANG Data Model for Hardware Management";
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module augements the  o-ran-sc-controlled-element and  
+     o-ran-sc-controlled-function object by adding ietf-hardware.
+
+     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)";
+  }
+
+  /*
+   * Typedefs
+   */
+
+  typedef hardware-ref {
+    type leafref {
+      path "/hw:hardware/hw:component/hw:name";
+    }
+    description
+      "This type is used by data models that need to reference
+       hardware.";
+  }
+
+  /*
+   * Groupings
+   */
+
+  grouping hardware-grp {
+    leaf-list hardware-reference  {
+      type hardware-ref;
+      config false;
+      description 
+        "A list of ietf-hardware references using the hardware name as key.";
+    }
+    description 
+      "A group adding ietf-hardware references.";
+  }
+
+  /*
+   * Data nodes
+   */
+
+  augment "/root:controlled-element" {
+    uses hardware-grp;
+    description
+      "An augmentation, which adds ietf-hardware 
+       to root:controlled-element.";
+  }
+
+  augment "/root:controlled-element/root:controlled-function" {
+    uses hardware-grp;
+    description
+      "An augmentation, which adds ietf-hardware 
+       to root:controlled-function.";
+  }
+}