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> getPolicyTypeIdentities(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> getPolicyIdentities(String nearRtRicUrl);
+ public Mono<String> getPolicyTypeSchema(String policyTypeId);
- public Mono<String> getPolicyType(String nearRtRicUrl, String policyTypeId);
+ public Mono<String> putPolicy(Policy policy);
- public Mono<String> putPolicy(String nearRtRicUrl, String policyId, String policyString);
+ public Mono<String> deletePolicy(Policy policy);
- public Mono<String> deletePolicy(String nearRtRicUrl, String policyId);
+ public Flux<String> deleteAllPolicies();
}