github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/alb/ChangeALBUpdatePolicy/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "log" 7 "os" 8 "time" 9 10 bluemix "github.com/IBM-Cloud/bluemix-go" 11 v1 "github.com/IBM-Cloud/bluemix-go/api/container/containerv1" 12 "github.com/IBM-Cloud/bluemix-go/session" 13 "github.com/IBM-Cloud/bluemix-go/trace" 14 ) 15 16 func main() { 17 18 var clusterID string 19 flag.StringVar(&clusterID, "clusterNameOrID", "", "cluster name or ID") 20 21 var enable bool 22 flag.BoolVar(&enable, "enable", false, "turn on or off the ALB auto update") 23 24 flag.Parse() 25 26 trace.Logger = trace.NewLogger("true") 27 28 if clusterID == "" { 29 flag.Usage() 30 os.Exit(1) 31 } 32 33 c := new(bluemix.Config) 34 35 sess, err := session.New(c) 36 if err != nil { 37 log.Fatal(err) 38 } 39 40 if err != nil { 41 log.Fatal(err) 42 } 43 44 targetV1 := v1.ClusterTargetHeader{} 45 46 clusterClientV1, err := v1.New(sess) 47 if err != nil { 48 log.Fatal(err) 49 } 50 51 albAPIV1 := clusterClientV1.Albs() 52 53 albUpdatePolicy := v1.ALBUpdatePolicy{ 54 AutoUpdate: enable, 55 } 56 57 fmt.Println("turn off auto update") 58 updatePolicyErr := albAPIV1.ChangeALBUpdatePolicy(clusterID, albUpdatePolicy, targetV1) 59 if updatePolicyErr != nil { 60 log.Fatal(updatePolicyErr) 61 } 62 63 // wait... 64 time.Sleep(30 * time.Second) 65 66 autoUpdateConf, err := albAPIV1.GetALBUpdatePolicy(clusterID, targetV1) 67 if err != nil { 68 log.Fatal(err) 69 } 70 71 fmt.Printf("autoUpdateConf: %+v", autoUpdateConf) 72 73 }