Add SDNR A1 client in policy-agent
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / clients / A1Client.java
index bed839b..0a2bc8e 100644 (file)
 
 package org.oransc.policyagent.clients;
 
+import java.util.List;
+
+import org.oransc.policyagent.repository.Policy;
+
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
 public interface A1Client {
 
-    public Flux<String> getAllPolicyTypes(String nearRtRicUrl);
+    public static enum A1ProtocolType {
+        UNKNOWN, STD_V1, OSC_V1, SDNC_OSC, SDNR_ONAP
+    }
+
+    public Mono<A1ProtocolType> getProtocolVersion();
+
+    public Mono<List<String>> getPolicyTypeIdentities();
+
+    public Mono<List<String>> getPolicyIdentities();
 
-    public Flux<String> getPoliciesForType(String nearRtRicUrl, String policyTypeId);
+    public Mono<String> getPolicyTypeSchema(String policyTypeId);
 
-    public Mono<String> getPolicy(String nearRtRicUrl, String policyId);
+    public Mono<String> putPolicy(Policy policy);
 
-    public Mono<String> putPolicy(String nearRtRicUrl, String policyId, String policyString);
+    public Mono<String> deletePolicy(Policy policy);
 
-    public Mono<Void> deletePolicy(String nearRtRicUrl, String policyId);
+    public Flux<String> deleteAllPolicies();
 
 }