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 enum A1ProtocolType {
+ UNKNOWN, //
+ STD_V1, //
+ STD_V1_1, // version 1.1
+ OSC_V1, //
+ SDNC_OSC, //
+ SDNC_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();
+ public Mono<String> getPolicyStatus(Policy policy);
}