github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/alb/CreateALB/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "log" 7 "os" 8 "time" 9 10 "github.com/IBM-Cloud/bluemix-go/session" 11 12 v1 "github.com/IBM-Cloud/bluemix-go/api/container/containerv1" 13 "github.com/IBM-Cloud/bluemix-go/trace" 14 ) 15 16 func main() { 17 18 var enable bool 19 flag.BoolVar(&enable, "enable", false, "enable alb") 20 21 var clusterID string //mandatory 22 flag.StringVar(&clusterID, "clusterNameOrID", "", "cluster name or ID - mandatory") 23 24 var albtype string //mandatory 25 flag.StringVar(&albtype, "type", "", "type of alb - mandatory") 26 27 var vlanID string //mandatory 28 flag.StringVar(&vlanID, "vlanID", "", "vlanID of alb - mandatory") 29 30 var zone string //mandatory 31 flag.StringVar(&zone, "zone", "", "zone of alb - mandatory") 32 33 var region string //mandatory 34 flag.StringVar(®ion, "region", "us-south", "region of cluster - mandatory") 35 36 flag.Parse() 37 38 trace.Logger = trace.NewLogger("true") 39 if region == "" || albtype == "" || clusterID == "" || vlanID == "" || zone == "" { 40 fmt.Println("region: ", region) 41 fmt.Println("albtype: ", albtype) 42 fmt.Println("clusterID: ", clusterID) 43 fmt.Println("vlanID: ", vlanID) 44 fmt.Println("zone: ", zone) 45 flag.Usage() 46 os.Exit(1) 47 } 48 49 sess, err := session.New() 50 if err != nil { 51 log.Fatal(err) 52 } 53 54 albClient, err := v1.New(sess) 55 if err != nil { 56 log.Fatal(err) 57 } 58 albAPI := albClient.Albs() 59 target := v1.ClusterTargetHeader{ 60 Region: region, 61 } 62 63 params := v1.CreateALB{ 64 Zone: zone, VlanID: vlanID, Type: albtype, EnableByDefault: enable, 65 } 66 67 albResp, err := albAPI.CreateALB(params, clusterID, target) 68 if err != nil { 69 log.Fatal(err) 70 } 71 72 time.Sleep(10 * time.Second) 73 74 alb, err := albAPI.GetALB(albResp.Alb, target) 75 if err != nil { 76 log.Fatal(err) 77 } 78 79 fmt.Println("Created ALB: ", alb) 80 81 }