github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/V2containers/SetALBAutoscaleConfigurationV2/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "log" 7 "os" 8 9 bluemix "github.com/IBM-Cloud/bluemix-go" 10 "github.com/IBM-Cloud/bluemix-go/session" 11 "github.com/IBM-Cloud/bluemix-go/trace" 12 13 v2 "github.com/IBM-Cloud/bluemix-go/api/container/containerv2" 14 ) 15 16 func main() { 17 18 var clusterID, albID string 19 var cpuAverageUtilization, minReplicas, maxReplicas int 20 flag.StringVar(&clusterID, "clusterNameOrID", "", "cluster name or ID") 21 flag.StringVar(&albID, "albID", "", "ALB ID") 22 flag.IntVar(&minReplicas, "minReplicas", 0, "minimum ALB replicas") 23 flag.IntVar(&maxReplicas, "maxReplicas", 0, "maximum ALB replicas") 24 flag.IntVar(&cpuAverageUtilization, "cpuAverageUtilization", 0, "the CPU Average Utilization") 25 flag.Parse() 26 27 trace.Logger = trace.NewLogger("true") 28 29 if clusterID == "" || albID == "" { 30 flag.Usage() 31 os.Exit(1) 32 } 33 34 c := new(bluemix.Config) 35 36 sess, err := session.New(c) 37 if err != nil { 38 log.Fatal(err) 39 } 40 41 if err != nil { 42 log.Fatal(err) 43 } 44 45 target := v2.ClusterTargetHeader{} 46 47 clusterClient, err := v2.New(sess) 48 if err != nil { 49 log.Fatal(err) 50 } 51 52 autoscaleConf := v2.AutoscaleDetails{ 53 Config: &v2.AutoscaleConfig{ 54 MinReplicas: minReplicas, 55 MaxReplicas: maxReplicas, 56 CPUAverageUtilization: cpuAverageUtilization, 57 }, 58 } 59 60 albAPI := clusterClient.Albs() 61 62 err = albAPI.SetALBAutoscaleConfiguration(clusterID, albID, autoscaleConf, target) 63 fmt.Println("setErr: ", err) 64 65 getAutoscaleConf, err := albAPI.GetALBAutoscaleConfiguration(clusterID, albID, target) 66 if err != nil { 67 log.Fatal(err) 68 } 69 fmt.Printf("getAutoscaleConf.Config=%+v\n", getAutoscaleConf.Config) 70 }