|
| 1 | +package handler |
| 2 | + |
| 3 | +import ( |
| 4 | + "context" |
| 5 | + "fmt" |
| 6 | + "net/http" |
| 7 | + |
| 8 | + "github.com/netobserv/network-observability-console-plugin/pkg/kubernetes/auth" |
| 9 | + "github.com/netobserv/network-observability-console-plugin/pkg/kubernetes/resources" |
| 10 | + "github.com/netobserv/network-observability-console-plugin/pkg/utils" |
| 11 | + |
| 12 | + "k8s.io/apimachinery/pkg/runtime/schema" |
| 13 | +) |
| 14 | + |
| 15 | +func (h *Handlers) GetUDNIdss(ctx context.Context) func(w http.ResponseWriter, r *http.Request) { |
| 16 | + return func(w http.ResponseWriter, r *http.Request) { |
| 17 | + token, err := auth.GetUserToken(r.Header) |
| 18 | + if err != nil { |
| 19 | + writeError(w, http.StatusInternalServerError, err.Error()) |
| 20 | + } |
| 21 | + |
| 22 | + cudns, err := resources.List(ctx, token, schema.GroupVersionResource{ |
| 23 | + Group: "k8s.ovn.org", |
| 24 | + Version: "v1", |
| 25 | + Resource: "clusteruserdefinednetworks", |
| 26 | + }) |
| 27 | + if err != nil { |
| 28 | + writeError(w, http.StatusInternalServerError, err.Error()) |
| 29 | + } |
| 30 | + |
| 31 | + udns, err := resources.List(ctx, token, schema.GroupVersionResource{ |
| 32 | + Group: "k8s.ovn.org", |
| 33 | + Version: "v1", |
| 34 | + Resource: "userdefinednetworks", |
| 35 | + }) |
| 36 | + if err != nil { |
| 37 | + writeError(w, http.StatusInternalServerError, err.Error()) |
| 38 | + } |
| 39 | + |
| 40 | + values := []string{} |
| 41 | + for _, cudn := range cudns { |
| 42 | + md := cudn.Object["metadata"].(map[string]interface{}) |
| 43 | + values = append(values, fmt.Sprintf("%s", md["name"])) |
| 44 | + } |
| 45 | + for _, udn := range udns { |
| 46 | + md := udn.Object["metadata"].(map[string]interface{}) |
| 47 | + values = append(values, fmt.Sprintf("%s.%s", md["namespace"], md["name"])) |
| 48 | + } |
| 49 | + writeJSON(w, http.StatusOK, utils.NonEmpty(utils.Dedup(values))) |
| 50 | + } |
| 51 | +} |
0 commit comments