Initial commit
[ric-plt/o1.git] / agent / yang / o-ran-sc-ric-xapp-desc-v1.yang
diff --git a/agent/yang/o-ran-sc-ric-xapp-desc-v1.yang b/agent/yang/o-ran-sc-ric-xapp-desc-v1.yang
new file mode 100755 (executable)
index 0000000..1217de3
--- /dev/null
@@ -0,0 +1,73 @@
+module o-ran-sc-ric-xapp-desc-v1 {
+    yang-version 1.1;
+    namespace "urn:o-ran:ric:xapp-desc:1.0";
+    prefix rxad;
+
+    organization
+        "O-RAN Software Community";
+    contact
+        "www.o-ran.org";
+    description
+        "This module defines a generic xApp descriptor used for xApp lifecycle management
+
+        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-01-29 {
+        description
+            "initial revision";
+        reference
+            "O-RAN-OAM-Interface-Specification (O1)";
+    }
+
+    // LCM: Generic xApp descriptor passed to xApp Manager (or OCO) during xApp deployment/undeployment
+    grouping xapp-descriptor {
+        leaf name {
+            mandatory true;
+            type string;
+            description
+                "Name of the xApp in helm chart";
+        }
+        leaf release-name {
+            type string;
+            description
+                "Name of the xapp to be visible in Kubernetes";
+        }
+        leaf version {
+            type string;
+            description
+                "The exact xapp helm chart version to install";
+        }
+        leaf namespace {
+            type string;
+            description
+                "Name of the namespace to which xApp is deployed in Kubernetes";
+        }
+        leaf override-file {
+            type string;
+            description
+                "JSON string of override file for 'helm install' command";
+        }
+    }
+    
+    // Top-level (root) manager object
+    container ric {
+        container xapps {
+            list xapp {
+                key "name";
+                uses xapp-descriptor;
+            }
+        }        
+    }
+}
\ No newline at end of file