github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/cis/cisv1/glbs/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 "github.com/IBM-Cloud/bluemix-go/api/cis/cisv1" 9 "github.com/IBM-Cloud/bluemix-go/session" 10 "github.com/IBM-Cloud/bluemix-go/trace" 11 ) 12 13 func main() { 14 15 var cis_id string 16 flag.StringVar(&cis_id, "cis_id", "", "CRN of the CIS service instance") 17 var zone_id string 18 flag.StringVar(&zone_id, "zone_id", "", "zone_id for zone") 19 var pool_id string 20 flag.StringVar(&pool_id, "pool_id", "", "pool_id for zone") 21 var domain_name string 22 flag.StringVar(&domain_name, "domain_name", "", "domain_name for zone") 23 24 flag.Parse() 25 26 if zone_id == "" || cis_id == "" || pool_id == "" || domain_name == "" { 27 flag.Usage() 28 os.Exit(1) 29 } 30 31 trace.Logger = trace.NewLogger("true") 32 sess, err := session.New() 33 if err != nil { 34 log.Fatal(err) 35 } 36 37 cisClient, err := cisv1.New(sess) 38 if err != nil { 39 log.Fatal(err) 40 } 41 glbsAPI := cisClient.Glbs() 42 43 log.Println(">>>>>>>>> Glbs create") 44 params := cisv1.GlbBody{ 45 Name: domain_name, 46 SessionAffinity: "none", 47 DefaultPools: []string{ 48 pool_id, 49 }, 50 FallbackPool: pool_id, 51 Proxied: true, 52 } 53 myGlbsPtr, err := glbsAPI.CreateGlb(cis_id, zone_id, params) 54 55 if err != nil { 56 log.Fatal(err) 57 } 58 59 myGlbs := *myGlbsPtr 60 glbsId := myGlbs.Id 61 log.Println("Glbs create :", myGlbs) 62 63 log.Println(">>>>>>>>> Glbs read") 64 myGlbsPtr, err = glbsAPI.GetGlb(cis_id, zone_id, glbsId) 65 66 if err != nil { 67 log.Fatal(err) 68 } 69 70 myGlbs = *myGlbsPtr 71 72 log.Println("Glbs Details by ID:", myGlbs) 73 74 log.Println(">>>>>>>>> Glbs delete") 75 err = glbsAPI.DeleteGlb(cis_id, zone_id, glbsId) 76 if err != nil { 77 log.Fatal(err) 78 } 79 }