package org.oransc.policyagent.clients;
-import reactor.core.publisher.Flux;
+import java.util.Collection;
+
+import org.oransc.policyagent.repository.Policy;
import reactor.core.publisher.Mono;
public interface A1Client {
- public Flux<String> getAllPolicyTypes(String nearRtRicUrl);
+ public static enum A1ProtocolType {
+ UNKNOWN, STD_V1
+ }
+
+ public Mono<A1ProtocolType> getProtocolVersion();
+
+ public Mono<Collection<String>> getPolicyTypeIdentities();
- public Flux<String> getPoliciesForType(String nearRtRicUrl, String policyTypeId);
+ public Mono<Collection<String>> getPolicyIdentities();
- public Mono<String> getPolicy(String nearRtRicUrl, String policyId);
+ public Mono<String> getPolicyTypeSchema(String policyTypeId);
- public Mono<String> putPolicy(String nearRtRicUrl, String policyId, String policyString);
+ public Mono<String> putPolicy(Policy policy);
- public Mono<Void> deletePolicy(String nearRtRicUrl, String policyId);
+ public Mono<String> deletePolicy(String policyId);
}