--- /dev/null
+module o-ran-sc-ric-xapp-desc-v1 {
+ yang-version 1.1;
+ namespace "urn:o-ran:ric:xapp-desc:1.0";
+ prefix rxad;
+
+ import o-ran-sc-root-v1 {
+ prefix root;
+ }
+ import o-ran-sc-types-v1 {
+ prefix ot;
+ }
+
+ 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-02-25 {
+ description
+ "Dependency to a common and abstract root module added.";
+ reference
+ "O-RAN-OAM-architecture-Specification (O1)";
+ }
+ revision 2020-01-29 {
+ description
+ "initial revision";
+ reference
+ "O-RAN-OAM-Interface-Specification (O1)";
+ }
+
+ // identity
+ identity near-realtime-ran-intelligent-controller {
+ base ot:control-function-type;
+ description
+ "Defines the identitiy near-rt-ric as contoll-function type.";
+ }
+
+ // grouping
+ // LCM: Generic xApp descriptor passed to xApp Manager (or OCO) during xApp deployment/undeployment
+ grouping xapp-descriptor {
+ uses root:control-base-grp;
+ 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";
+ }
+ description
+ "xApp descriptor";
+ }
+
+ grouping ric-specific-grp {
+ container xapps {
+ list xapp {
+ key "name";
+ uses xapp-descriptor;
+ description
+ "xApp descriptor";
+ }
+ description
+ "List of xApps to be managed.";
+ }
+ description
+ "Groups xApps realted artifacts. ";
+ }
+
+ // Inherit from controlled-function
+ augment "/root:controlled-element/root:controlled-function" {
+ when "derived-from-or-self(./root:function-type, 'rxad:near-realtime-ran-intelligent-controller')";
+ uses ric-specific-grp;
+ description
+ "Inheritance from root object class.";
+ }
+}
\ No newline at end of file