github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/addons/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "log" 7 "os" 8 "time" 9 10 v1 "github.com/IBM-Cloud/bluemix-go/api/container/containerv1" 11 "github.com/IBM-Cloud/bluemix-go/session" 12 "github.com/IBM-Cloud/bluemix-go/trace" 13 ) 14 15 func main() { 16 17 var clusterID string 18 flag.StringVar(&clusterID, "clusterNameOrID", "", "cluster name or ID") 19 20 var region string 21 flag.StringVar(®ion, "region", "us-south", "region of cluster") 22 23 flag.Parse() 24 25 trace.Logger = trace.NewLogger("true") 26 if clusterID == "" { 27 flag.Usage() 28 os.Exit(1) 29 } 30 31 sess, err := session.New() 32 if err != nil { 33 log.Fatal(err) 34 } 35 36 addOnClient, err := v1.New(sess) 37 if err != nil { 38 log.Fatal(err) 39 } 40 addOnAPI := addOnClient.AddOns() 41 target := v1.ClusterTargetHeader{ 42 Region: region, 43 } 44 45 //Enable the AddOns 46 47 addOnConfig := v1.ConfigureAddOns{ 48 AddonsList: []v1.AddOn{}, 49 Enable: false, 50 Update: false, 51 } 52 var addOn = v1.AddOn{ 53 Name: "istio", 54 } 55 addOnConfig.AddonsList = append(addOnConfig.AddonsList, addOn) 56 _, err = addOnAPI.ConfigureAddons(clusterID, &addOnConfig, target) 57 if err != nil { 58 log.Fatal(err) 59 } 60 61 time.Sleep(10 * time.Second) 62 63 addons, err := addOnAPI.GetAddons(clusterID, target) 64 if err != nil { 65 log.Println(err) 66 } 67 68 fmt.Println("The avalable addons in a cluster ", addons) 69 70 }