Fixed concurrency problems
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / clients / A1Client.java
index 8d244ee..ace486b 100644 (file)
 
 package org.oransc.policyagent.clients;
 
-import java.util.Collection;
+import java.util.List;
 
 import org.oransc.policyagent.repository.Policy;
+
+import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
 public interface A1Client {
 
-    public Mono<Collection<String>> getPolicyTypeIdentities(String nearRtRicUrl);
+    public enum A1ProtocolType {
+        UNKNOWN, //
+        STD_V1, //
+        OSC_V1, //
+        SDNC_OSC, //
+        SDNC_ONAP
+    }
+
+    public Mono<A1ProtocolType> getProtocolVersion();
 
-    public Mono<Collection<String>> getPolicyIdentities(String nearRtRicUrl);
+    public Mono<List<String>> getPolicyTypeIdentities();
 
-    public Mono<String> getPolicyType(String nearRtRicUrl, String policyTypeId);
+    public Mono<List<String>> getPolicyIdentities();
+
+    public Mono<String> getPolicyTypeSchema(String policyTypeId);
 
     public Mono<String> putPolicy(Policy policy);
 
-    public Mono<String> deletePolicy(String nearRtRicUrl, String policyId);
+    public Mono<String> deletePolicy(Policy policy);
+
+    public Flux<String> deleteAllPolicies();
 
+    public Mono<String> getPolicyStatus(Policy policy);
 }