github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/versions/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 12 "github.com/IBM-Cloud/bluemix-go/api/account/accountv2" 13 v1 "github.com/IBM-Cloud/bluemix-go/api/container/containerv1" 14 "github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2" 15 ) 16 17 //Example to list all supported versions of the kube in the IBM Container Service 18 func main() { 19 c := new(bluemix.Config) 20 flag.StringVar(&c.IBMID, "ibmid", "", "The IBM ID. You can also source it from env IBMID") 21 flag.StringVar(&c.IBMIDPassword, "ibmidpass", "", "The IBMID Password. You can also source it from IBMID_PASSWORD") 22 flag.StringVar(&c.Region, "region", "us-south", "The Bluemix region. You can source it from env IC_REGION or BLUEMIX_REGION") 23 flag.BoolVar(&c.Debug, "debug", false, "Show full trace if on") 24 25 var org string 26 flag.StringVar(&org, "org", "", "Bluemix Organization") 27 28 var space string 29 flag.StringVar(&space, "space", "", "Bluemix Space") 30 31 flag.Parse() 32 33 if org == "" || space == "" { 34 flag.Usage() 35 os.Exit(1) 36 } 37 38 sess, err := session.New(c) 39 if err != nil { 40 log.Fatal(err) 41 } 42 43 client, err := mccpv2.New(sess) 44 45 if err != nil { 46 log.Fatal(err) 47 } 48 49 region := sess.Config.Region 50 orgAPI := client.Organizations() 51 myorg, err := orgAPI.FindByName(org, region) 52 53 if err != nil { 54 log.Fatal(err) 55 } 56 57 spaceAPI := client.Spaces() 58 myspace, err := spaceAPI.FindByNameInOrg(myorg.GUID, space, region) 59 60 if err != nil { 61 log.Fatal(err) 62 } 63 64 accClient, err := accountv2.New(sess) 65 if err != nil { 66 log.Fatal(err) 67 } 68 accountAPI := accClient.Accounts() 69 myAccount, err := accountAPI.FindByOrg(myorg.GUID, c.Region) 70 if err != nil { 71 log.Fatal(err) 72 } 73 74 target := v1.ClusterTargetHeader{ 75 OrgID: myorg.GUID, 76 SpaceID: myspace.GUID, 77 AccountID: myAccount.GUID, 78 } 79 80 clusterClient, err := v1.New(sess) 81 if err != nil { 82 log.Fatal(err) 83 } 84 clustersAPI := clusterClient.KubeVersions() 85 86 out, err := clustersAPI.List(target) 87 if err != nil { 88 log.Fatal(err) 89 } 90 fmt.Println(out) 91 92 outv1, err := clustersAPI.ListV1(target) 93 if err != nil { 94 log.Fatal(err) 95 } 96 fmt.Println(outv1) 97 }