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  }