--- /dev/null
+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.";
+ }
+ }
+}