summaryrefslogtreecommitdiffstats
path: root/clover/cloverctl/src/cloverctl/cmd/get_visibility.go
blob: 820b25a7a77d542e8766ca291104dd38847a9b37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Copyright (c) Authors of Clover
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Apache License, Version 2.0
// which accompanies this distribution, and is available at
// http://www.apache.org/licenses/LICENSE-2.0

package cmd

import (
    "fmt"
    "gopkg.in/resty.v1"
    "github.com/spf13/cobra"
)

var VisibilityStat string
var VisibilityConfig string

var visibilitygetCmd = &cobra.Command{
    Use:   "visibility",
    Short: "Get visibility config & stats",
    Long: ``,
    Run: func(cmd *cobra.Command, args []string) {
        getVisibility()
    },
}

func init() {
    getCmd.AddCommand(visibilitygetCmd)
    visibilitygetCmd.PersistentFlags().StringVarP(&VisibilityStat, "stat", "s", "", "Visibility stats type to get")
    visibilitygetCmd.PersistentFlags().StringVarP(&VisibilityConfig, "conf", "c", "", "Visibility config type to get")
}

func getVisibility() {

    url_prefix := "/visibility/get/"
    get_data := "all"
    response_prefix := "Config"
    if VisibilityStat != "" {
        url_prefix = "/visibility/get/stats/"
        get_data =  VisibilityStat
        response_prefix = "Stat"
    } else if VisibilityConfig != "" {
        get_data =  VisibilityConfig
    }

    url := controllerIP + url_prefix + get_data

    resp, err := resty.R().
    SetHeader("Accept", "application/json").
    Get(url)
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("\n%s %s: %v\n", response_prefix, get_data, resp)
}