NonRT-RIC A1 Northbound API
[nonrtric.git] / sdnc-a1-controller / northbound / nonrt-ric-api / model / src / main / yang / NONRT-RIC-API.yang
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang b/sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang
new file mode 100644 (file)
index 0000000..b6a2869
--- /dev/null
@@ -0,0 +1,214 @@
+module A1-ADAPTER-API {\r
+\r
+    namespace "org:onap:sdnc:northbound:a1-adapter";\r
+\r
+    prefix a1-adapter-api;\r
+\r
+    import ietf-inet-types { prefix "inet"; revision-date "2013-07-15"; }\r
+\r
+    import ietf-yang-types { prefix yang; }\r
+\r
+    revision "2019-10-02" {\r
+        description\r
+        "A1 adapter for Frankfurt";\r
+    }\r
+\r
+///Flattend interface using RPC\r
+\r
+    //Get a comma separated list of near-rt rics, e.g. domain-name1:port1,domainname2:port2\r
+    //Each item in the returned list will be regarded as one near-rt-ric-id.\r
+    rpc getNearRT-RICs {\r
+        output {\r
+            leaf-list near-rt-ric-id-list {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+\r
+    //Get health status for a Near-RT-RIC. true - health ok, false - health is not ok.\r
+    rpc getHealthCheck {\r
+         input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+        }\r
+\r
+        output {\r
+            leaf health-status {\r
+                type boolean;\r
+            }\r
+        }   \r
+    }\r
+\r
+    //Get a comma separated list of integer policy type ids\r
+    //Each item in the returned list will be regarded as one policy-type-id.\r
+    rpc getPolicyTypes {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+        }\r
+\r
+        output {\r
+            leaf-list policy-type-id-list {\r
+                type uint32;\r
+            }\r
+        }\r
+    }\r
+\r
+    //Create a policy type\r
+    rpc createPolicyType {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+            leaf description {\r
+                type string;\r
+            }\r
+            leaf name {\r
+                type string;\r
+            }\r
+            leaf policy-type {\r
+                type string;\r
+            }\r
+        }\r
+       output {\r
+            leaf status {\r
+                type string;\r
+            }\r
+            leaf code {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+\r
+    //Get a policy type\r
+    rpc getPolicyType {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+        }\r
+        output {\r
+            leaf description {\r
+                type string;\r
+            }\r
+            leaf name {\r
+                type string;\r
+            }\r
+            leaf policy-type {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+\r
+    //Delete a policy type\r
+    rpc deletePolicyType {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+        }\r
+    }\r
+\r
+    //Get a comma separeated list of string policy instance ids\r
+    //Each item in the returned list will be regarded as one policy-instance-id.\r
+    rpc getPolicyInstances {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+        }\r
+\r
+        output {\r
+            leaf-list policy-instance-id-list {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+\r
+    //Create a policy instance\r
+    rpc createPolicyInstance {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+            leaf policy-instance-id {\r
+                type string;\r
+            }\r
+            leaf policy-instance {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+    \r
+    ///Get a policy instance\r
+    rpc getPolicyInstance {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+            leaf policy-instance-id {\r
+                type string;\r
+            }\r
+        }\r
+        output {\r
+            leaf policy-instance {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+    \r
+    //Delete a policy instance\r
+    rpc deletePolicyInstance {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+            leaf policy-instance-id {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+\r
+    //Get the status for a policy instance\r
+    rpc getStatus {\r
+        input {\r
+            leaf near-rt-ric-id {\r
+                type string;\r
+            }\r
+            leaf policy-type-id {\r
+                type uint32;\r
+            }\r
+            leaf policy-instance-id {\r
+                type string;\r
+            }\r
+        }\r
+        output {\r
+            leaf status {\r
+                type string;\r
+            }\r
+        }\r
+    }\r
+}
\ No newline at end of file