aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/northbound/a1Adapter/model
diff options
context:
space:
mode:
authorSandeep Shah <sandeeplinux1068@gmail.com>2019-11-02 05:05:25 -0500
committerSandeep Shah <sandeeplinux1068@gmail.com>2019-11-02 05:05:25 -0500
commit8ee521ed01b956d1c6939513d617de9cd5e9a68f (patch)
treea395544047f73c2a848f8322917180f60a3c1ece /sdnr/northbound/a1Adapter/model
parenta6557cbba03576e7593160fd2a6abe68f0af86b3 (diff)
ORAN A1 Adapter Karaf feature development
A1 adapter to interface with A1 mediator in ORAN real-time RIC. This is a karaf feature that will be installed in ODL/CCSDK. The feature will be supported by corresponding DG's. Issue-ID: CCSDK-1888 Signed-off-by: SandeepLinux <Sandeep.Shah@ibm.com> Change-Id: Ib462637a013fa454dd65047dda9c85f4d2d4521c
Diffstat (limited to 'sdnr/northbound/a1Adapter/model')
-rw-r--r--sdnr/northbound/a1Adapter/model/pom.xml55
-rw-r--r--sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang245
2 files changed, 300 insertions, 0 deletions
diff --git a/sdnr/northbound/a1Adapter/model/pom.xml b/sdnr/northbound/a1Adapter/model/pom.xml
new file mode 100644
index 000000000..917b6c214
--- /dev/null
+++ b/sdnr/northbound/a1Adapter/model/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>1.5.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.onap.ccsdk.features.sdnr.northbound</groupId>
+ <artifactId>a1Adapter-model</artifactId>
+ <version>0.7.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+ <artifactId>rfc6991</artifactId>
+ </dependency>
+
+
+ </dependencies>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>properties-maven-plugin</artifactId>
+ <versionRange>[1.0.0,)</versionRange>
+ <goals>
+ <goal>set-system-properties</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <execute/>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang b/sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang
new file mode 100644
index 000000000..297787b32
--- /dev/null
+++ b/sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang
@@ -0,0 +1,245 @@
+module A1-ADAPTER-API {
+
+ namespace "org:onap:ccsdk";
+
+ prefix a1-adapter-api;
+
+ revision "2019-12-12" {
+ description
+ "Added standard output payload for all RPC's";
+ }
+
+ revision "2019-10-02" {
+ description
+ "A1 adapter for Frankfurt";
+ }
+
+
+
+ grouping a1-adapter-response {
+ leaf response-code {
+ type string;
+ }
+ leaf response-message {
+ type string;
+ }
+ description
+ "Response payload for A1 Adapter RPC's";
+ }
+
+
+///Flattend interface using RPC
+
+ //Get a comma separated list of near-rt rics, e.g. domain-name1:port1,domainname2:port2
+ //Each item in the returned list will be regarded as one near-rt-ric-id.
+ rpc getNearRT-RICs {
+ output {
+ uses a1-adapter-response;
+ leaf-list near-rt-ric-id-list {
+ type string;
+ }
+ }
+ }
+
+ //Get health status for a Near-RT-RIC. true - health ok, false - health is not ok.
+ rpc getHealthCheck {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ }
+
+ output {
+ uses a1-adapter-response;
+ leaf health-status {
+ type boolean;
+ }
+ }
+ }
+
+ //Get a comma separated list of integer policy type ids
+ //Each item in the returned list will be regarded as one policy-type-id.
+ rpc getPolicyTypes {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ leaf-list policy-type-id-list {
+ type uint32;
+ }
+ }
+ }
+
+ //Create a policy type
+ rpc createPolicyType {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ leaf description {
+ type string;
+ }
+ leaf name {
+ type string;
+ }
+ leaf policy-type {
+ type string;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ leaf status {
+ type string;
+ }
+ leaf code {
+ type string;
+ }
+ }
+ }
+
+ //Get a policy type
+ rpc getPolicyType {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ leaf description {
+ type string;
+ }
+ leaf name {
+ type string;
+ }
+ leaf policy-type {
+ type string;
+ }
+ }
+ }
+
+ //Delete a policy type
+ rpc deletePolicyType {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ }
+ }
+
+ //Get a comma separeated list of string policy instance ids
+ //Each item in the returned list will be regarded as one policy-instance-id.
+ rpc getPolicyInstances {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ }
+
+ output {
+ uses a1-adapter-response;
+ leaf-list policy-instance-id-list {
+ type string;
+ }
+ }
+ }
+
+ //Create a policy instance
+ rpc createPolicyInstance {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ leaf policy-instance-id {
+ type string;
+ }
+ leaf policy-instance {
+ type string;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ }
+ }
+
+ ///Get a policy instance
+ rpc getPolicyInstance {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ leaf policy-instance-id {
+ type string;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ leaf policy-instance {
+ type string;
+ }
+ }
+ }
+
+ //Delete a policy instance
+ rpc deletePolicyInstance {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ leaf policy-instance-id {
+ type string;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ }
+ }
+
+ //Get the status for a policy instance
+ rpc getStatus {
+ input {
+ leaf near-rt-ric-id {
+ type string;
+ }
+ leaf policy-type-id {
+ type uint32;
+ }
+ leaf policy-instance-id {
+ type string;
+ }
+ }
+ output {
+ uses a1-adapter-response;
+ leaf status {
+ type string;
+ }
+ }
+ }
+}