Add LayerProtocolQualifier
[scp/oam/modeling.git] / data-model / yang / working / o-ran-sc / o-ran-sc-topology / o-ran-sc-topology-common.yang
index ed48d35..931257e 100644 (file)
@@ -7,13 +7,17 @@ module o-ran-sc-topology-common {
     prefix if;
   }
 
+  import tapi-common {
+    prefix tapi-common;
+  }
+
   organization
     "O-RAN Software Community";
   contact
     "www.o-ran.org";
   description
-    "This module contains YANG definitions for the O-RAN Topology augmentation 
-     of TAPI Topology used as network model. 
+    "This module contains YANG definitions for the O-RAN Topology augmentation
+     of TAPI Topology used as network model.
 
      Copyright 2022 the O-RAN Software Community.
 
@@ -35,72 +39,77 @@ module o-ran-sc-topology-common {
     reference
       "O-RAN-SC: https://jira.o-ran-sc.org/browse/OAM-248
        O-RAN.WG1.O-RAN-Architecture-Description
-       Chapter: 1.3.1  Definitions";
+       Chapter: 1.3.1\tDefinitions";
   }
 
   // O-RAN functional identity types
 
   identity function-type {
     description
-      "Base identity as abstract function type for by O-RAN Alliance and others 
-       entities. 
-       An unique identification of a (network) function. 
+      "Base identity as abstract function type for by O-RAN Alliance and others
+       entities.
+       An unique identification of a (network) function.
 
        This identity is abstract and MUST NOT be used for alarms.";
-
     reference
       "O-RAN.WG1.O-RAN-Architecture-Description
-       Chapter: 1.3.1  Definitions
+       Chapter: 1.3.1\tDefinitions
        https://jira.o-ran-sc.org/browse/OAM-248";
   }
 
   identity smo {
     base function-type;
     description
-      "An identity corresponding to an 
+      "An identity corresponding to an
        O-RAN Service Management and Orchestration Function (SMO).";
   }
 
+  identity o-cloud {
+    base function-type;
+    description
+      "An identity corresponding to an O-RAN Cloud component (O-Cloud).";
+  }
+
   identity non-rt-ric {
     base function-type;
     description
-      "An identity corresponding to an 
-       O-RAN Service Management and Orchestration SMO component corresponding to 
+      "An identity corresponding to an
+       O-RAN Service Management and Orchestration SMO component corresponding to
        a Non-real-time RAN Intelligent Controller Function (Near-RT-RIC).";
   }
 
   identity oam-controller {
     base function-type;
     description
-      "An identity corresponding to an 
-       O-RAN Service Management and Orchestration SMO component corresponding to 
-       an Operation and Maintenance Controller Controller Function 
+      "An identity corresponding to an
+       O-RAN Service Management and Orchestration SMO component corresponding to
+       an Operation and Maintenance Controller Controller Function
        (OAM Controller).";
   }
 
   identity ves-collector {
     base function-type;
     description
-      "An identity corresponding to an 
-       O-RAN Service Management and Orchestration SMO component corresponding to 
-       an (Virtual) Event Streaming Collector Function 
+      "An identity corresponding to an
+       O-RAN Service Management and Orchestration SMO component corresponding to
+       an (Virtual) Event Streaming Collector Function
        (VES Collector).";
   }
 
   identity message-router {
     base function-type;
     description
-      "An identity corresponding to an 
-       O-RAN Service Management and Orchestration SMO component corresponding to 
+      "An identity corresponding to an
+       O-RAN Service Management and Orchestration SMO component corresponding to
        Message Router Function (MR).";
   }
 
   identity transport-node {
     base function-type;
     description
-      "An identity corresponding to a Transport Node Function 
-       (such as  Transponders, Muxponders, ROADM, Wavelength Selected Switch, 
-       Optical Amplifier, Optical Terminal, Optical Repeater, Optical Filter, 
+      "An identity corresponding to a Transport Node Function
+       (such as  Transponders, Muxponders, ROADM, Wavelength Selected Switch,
+       Optical Amplifier, Optical Terminal, Optical Repeater, Optical Filter,
        Optical Multiplexer, Microwave Terminal, Carrier Ethernet Routers, ... .";
   }
 
@@ -115,7 +124,7 @@ module o-ran-sc-topology-common {
     description
       "An identity corresponding to an O-RAN Fronthaul Multiplexer Function.";
   }
-  
+
   identity near-rt-ric {
     base function-type;
     description
@@ -126,7 +135,7 @@ module o-ran-sc-topology-common {
   identity managed-application {
     base function-type;
     description
-      "An identity corresponding to an O-RAN Managed Application Function (MA), 
+      "An identity corresponding to an O-RAN Managed Application Function (MA),
        also called 'xApp'.";
   }
 
@@ -137,15 +146,15 @@ module o-ran-sc-topology-common {
   }
 
   identity o-cu-up {
-    base o-cu-function-type;
+    base function-type;
     description
       "An identity corresponding to an O-RAN Central Unit User Plane Function.";
   }
 
   identity o-cu-cp {
-    base o-cu-function-type;
+    base function-type;
     description
-      "An identity corresponding to an O-RAN Central Unit Control Plane 
+      "An identity corresponding to an O-RAN Central Unit Control Plane
        Function.";
   }
 
@@ -173,25 +182,25 @@ module o-ran-sc-topology-common {
     description
       "An identity corresponding to an User Equipment Function.";
   }
-  
+
   identity o-cloud-ims {
     base function-type;
     description
-      "An identity corresponding to an Infrastructure Management Service 
+      "An identity corresponding to an Infrastructure Management Service
        Function (IMS).";
   }
 
   identity o-cloud-dms {
     base function-type;
     description
-      "An identity corresponding to a 
+      "An identity corresponding to a
        Deployment Management Service Function (DMS).";
   }
 
   // O-RAN interface types
 
   identity interface-type {
-    base if:interface-type
+    base if:interface-type;
     description
       "Base identity for interface types used in RAN, Transport and Core.
        A unique identification of the management interface.
@@ -244,4 +253,64 @@ module o-ran-sc-topology-common {
     description
       "An identity for a yang based management interface for transport nodes.";
   }
+
+  // O-RAN-SC LAYER_PROTOCOL_QUALIFIER
+  identity LAYER_PROTOCOL_QUALIFIER {
+    base tapi-common:LAYER_PROTOCOL_QUALIFIER;
+    description
+      "Base identity for layer protocol qualifiers used in RAN, Transport and Core.
+       A unique identification of layer protocol qualifiers. 
+       Typically the layer protocol qualifier is used to identify the interface 
+       protocol, like VES or NETCONF. 
+       This identity is abstract and MUST NOT be used as a value.";
+  }
+
+  identity unknown {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for an unknown qualifier.";
+  }
+  
+  identity file {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for a FILE transfer protocol qualifier.";
+  }
+
+  identity grpc {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for an generic remote procedure call (gRPC) protocol qualifier.";
+  }
+
+  identity netconf {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for a NETCONF protocol qualifier.";
+  }
+
+  identity rest {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for a REST protocol qualifier.";
+  }
+
+  identity restconf {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for a RESTCONF protocol qualifier.";
+  }
+
+  identity ves {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for an REST based event stream (VES) protocol qualifier.";
+  }
+
+  identity ofh {
+    base LAYER_PROTOCOL_QUALIFIER;
+    description
+      "An identity for an O-RAN Fronthaul based protocol qualifier.";
+  }
+
 }