Add TAPI Topology simulated network function type.
[sim/o1-interface.git] / ntsimulator / deploy / smo-nts-ng-topology-server / yang / o-ran-topology.yang
diff --git a/ntsimulator/deploy/smo-nts-ng-topology-server/yang/o-ran-topology.yang b/ntsimulator/deploy/smo-nts-ng-topology-server/yang/o-ran-topology.yang
new file mode 100644 (file)
index 0000000..ec3512b
--- /dev/null
@@ -0,0 +1,90 @@
+module o-ran-topology {
+  yang-version 1.1;
+  namespace "urn:o-ran-common:topology:1.0";
+  prefix o-ran-topo;
+
+  import tapi-common {
+    prefix tapi-common;
+  }
+  import tapi-topology {
+    prefix tapi-topology;
+  }
+  import o-ran-common-identity-refs {
+    prefix o-ran-common;
+  }
+
+  organization
+    "O-RAN Alliance";
+  contact
+    "www.o-ran.org";
+  description
+    "This module contains YANG definitions for the O-RAN Topology augmentation of TAPI Topology.";
+
+  revision 2021-08-06 {
+    description
+      "Initial revision";
+    reference
+      "O-RAN";
+  }
+
+  typedef geographic-coordinate-degree {
+    type decimal64 {
+      fraction-digits 8;
+    }
+    description
+      "Decimal degree (DD) used to express latitude and longitude
+       geographic coordinates.
+       Copied from ietf-te-topology@2020-08-06.yang";
+  }
+
+  // geographic-coordinate-degree
+
+  grouping geolocation-container {
+    description
+      "Contains a GPS location.
+       Copied from ietf-te-topology@2020-08-06.yang";
+    container geolocation {
+      description
+        "Contains a GPS location.";
+      leaf altitude {
+        type int64;
+        units "millimeters";
+        description
+          "Distance above sea level.";
+      }
+      leaf latitude {
+        type geographic-coordinate-degree {
+          range "-90..90";
+        }
+        description
+          "Relative position north or south on the Earth's surface.";
+      }
+      leaf longitude {
+        type geographic-coordinate-degree {
+          range "-180..180";
+        }
+        description
+          "Angular distance east or west on the Earth's surface.";
+      }
+    }
+    // geolocation
+  }
+
+  augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node" {
+    description
+      "Augments the TAPI Topology node Context with geolocation information.";
+    uses geolocation-container;
+  }
+
+  augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node" {
+    description
+      "Augments the TAPI Topology node Context with the network function type";
+    leaf function {
+      type identityref {
+        base o-ran-common:o-ran-function-base;
+      }
+      description
+        "The type of the Network Function.";
+    }
+  }
+}