diff options
author | Ritu Sood <ritu.sood@intel.com> | 2020-03-03 00:44:52 -0800 |
---|---|---|
committer | Eric Multanen <eric.w.multanen@intel.com> | 2020-04-07 09:20:19 -0700 |
commit | ee5748eca6350222051125b5e2313f78da00efbe (patch) | |
tree | 0af1e364a976787a7c640e676a159e72d9be8a3e /src/ncm/api/clusterhandler.go | |
parent | ec83b3d3bda5501b20e05efae198202b29396c4a (diff) |
Adding function to Query cluster based on label
Add Query endpoint and implements returning list
of clusters with label.
Issue-ID: MULTICLOUD-922
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: I879b5e9002a0cbc9191abb99f1e164ee2b1c6581
Diffstat (limited to 'src/ncm/api/clusterhandler.go')
-rw-r--r-- | src/ncm/api/clusterhandler.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ncm/api/clusterhandler.go b/src/ncm/api/clusterhandler.go index cb147a8a..8c50f720 100644 --- a/src/ncm/api/clusterhandler.go +++ b/src/ncm/api/clusterhandler.go @@ -194,6 +194,23 @@ func (h clusterHandler) getClusterHandler(w http.ResponseWriter, r *http.Request provider := vars["provider-name"] name := vars["name"] + label := r.URL.Query().Get("label") + if len(label) != 0 { + ret, err := h.client.GetClustersWithLabel(provider, label) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + err = json.NewEncoder(w).Encode(ret) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + return + } + // handle the get all clusters case - return a list of only the json parts if len(name) == 0 { var retList []moduleLib.Cluster |