From 1c851d8bcbf526be6d7295b9e01a597be65cc692 Mon Sep 17 00:00:00 2001 From: Kiran Kamineni Date: Wed, 18 Sep 2019 12:09:06 -0700 Subject: Add a status getter api endpoint Add a status endpoint to get status of instances. Status information will be added to the database asynchronously. Issue-ID: MULTICLOUD-675 Change-Id: Ia7d79a6f18f01bf24f2690caf74a48c2a082bd73 Signed-off-by: Kiran Kamineni --- src/k8splugin/api/instancehandler.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/k8splugin/api/instancehandler.go') diff --git a/src/k8splugin/api/instancehandler.go b/src/k8splugin/api/instancehandler.go index acbeb53f..ab98e4be 100644 --- a/src/k8splugin/api/instancehandler.go +++ b/src/k8splugin/api/instancehandler.go @@ -106,6 +106,26 @@ func (i instanceHandler) getHandler(w http.ResponseWriter, r *http.Request) { } } +// statusHandler retrieves status about an instance via the ID +func (i instanceHandler) statusHandler(w http.ResponseWriter, r *http.Request) { + vars := mux.Vars(r) + id := vars["instID"] + + resp, err := i.client.Status(id) + 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(resp) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } +} + // listHandler retrieves information about an instance via the ID func (i instanceHandler) listHandler(w http.ResponseWriter, r *http.Request) { -- cgit 1.2.3-korg