Support to check the existence of k8s network through REST API
Change-Id: I2da687f1abcc54a33b44b3e48fd2dd5487bcbe29
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sNetworkWebResource.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sNetworkWebResource.java
index f582e4b..b6bf830 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sNetworkWebResource.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sNetworkWebResource.java
@@ -25,6 +25,7 @@
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
@@ -50,6 +51,8 @@
private static final String MESSAGE = "Received network %s request";
private static final String NETWORK_INVALID = "Invalid networkId in network update request";
+ private static final String RESULT = "result";
+
private final K8sNetworkAdminService adminService = get(K8sNetworkAdminService.class);
/**
@@ -126,4 +129,27 @@
adminService.removeNetwork(id);
return Response.noContent().build();
}
+
+ /**
+ * Checks whether the network exists with given network id.
+ *
+ * @param id network identifier
+ * @return 200 OK with true/false result
+ */
+ @GET
+ @Path("exist/{id}")
+ public Response hasNetwork(@PathParam("id") String id) {
+ log.trace(String.format(MESSAGE, "QUERY " + id));
+
+ ObjectNode root = mapper().createObjectNode();
+ K8sNetwork network = adminService.network(id);
+
+ if (network == null) {
+ root.put(RESULT, false);
+ } else {
+ root.put(RESULT, true);
+ }
+
+ return Response.ok(root).build();
+ }
}