github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/addons/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"log"
     7  	"os"
     8  	"time"
     9  
    10  	v1 "github.com/IBM-Cloud/bluemix-go/api/container/containerv1"
    11  	"github.com/IBM-Cloud/bluemix-go/session"
    12  	"github.com/IBM-Cloud/bluemix-go/trace"
    13  )
    14  
    15  func main() {
    16  
    17  	var clusterID string
    18  	flag.StringVar(&clusterID, "clusterNameOrID", "", "cluster name or ID")
    19  
    20  	var region string
    21  	flag.StringVar(&region, "region", "us-south", "region of cluster")
    22  
    23  	flag.Parse()
    24  
    25  	trace.Logger = trace.NewLogger("true")
    26  	if clusterID == "" {
    27  		flag.Usage()
    28  		os.Exit(1)
    29  	}
    30  
    31  	sess, err := session.New()
    32  	if err != nil {
    33  		log.Fatal(err)
    34  	}
    35  
    36  	addOnClient, err := v1.New(sess)
    37  	if err != nil {
    38  		log.Fatal(err)
    39  	}
    40  	addOnAPI := addOnClient.AddOns()
    41  	target := v1.ClusterTargetHeader{
    42  		Region: region,
    43  	}
    44  
    45  	//Enable the AddOns
    46  
    47  	addOnConfig := v1.ConfigureAddOns{
    48  		AddonsList: []v1.AddOn{},
    49  		Enable:     false,
    50  		Update:     false,
    51  	}
    52  	var addOn = v1.AddOn{
    53  		Name: "istio",
    54  	}
    55  	addOnConfig.AddonsList = append(addOnConfig.AddonsList, addOn)
    56  	_, err = addOnAPI.ConfigureAddons(clusterID, &addOnConfig, target)
    57  	if err != nil {
    58  		log.Fatal(err)
    59  	}
    60  
    61  	time.Sleep(10 * time.Second)
    62  
    63  	addons, err := addOnAPI.GetAddons(clusterID, target)
    64  	if err != nil {
    65  		log.Println(err)
    66  	}
    67  
    68  	fmt.Println("The avalable addons in a cluster ", addons)
    69  
    70  }