github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/alb/EnableALB/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 clusterID string
    19  	flag.StringVar(&clusterID, "clusterNameOrID", "", "cluster name or ID")
    20  
    21  	var albID string
    22  	flag.StringVar(&albID, "albID", "", "ALB ID")
    23  
    24  	var region string
    25  	flag.StringVar(&region, "region", "us-south", "region of cluster")
    26  
    27  	flag.Parse()
    28  
    29  	trace.Logger = trace.NewLogger("true")
    30  	if clusterID == "" || albID == "" {
    31  		flag.Usage()
    32  		os.Exit(1)
    33  	}
    34  
    35  	sess, err := session.New()
    36  	if err != nil {
    37  		log.Fatal(err)
    38  	}
    39  
    40  	albClient, err := v1.New(sess)
    41  	if err != nil {
    42  		log.Fatal(err)
    43  	}
    44  	albAPI := albClient.Albs()
    45  	target := v1.ClusterTargetHeader{
    46  		Region: region,
    47  	}
    48  
    49  	albConf := v1.ALBConfig{
    50  		ALBID:     albID,
    51  		ClusterID: clusterID,
    52  		Enable:    true,
    53  	}
    54  
    55  	err = albAPI.EnableALB(albID, albConf, target)
    56  	if err != nil {
    57  		log.Fatal(err)
    58  	}
    59  	fmt.Println("ALB enabled")
    60  
    61  	alb, err := albAPI.GetALB(albID, target)
    62  	if err != nil {
    63  		log.Fatal(err)
    64  	}
    65  
    66  	// wait...
    67  	time.Sleep(30 * time.Second)
    68  
    69  	fmt.Println("Get ALB with ID ", albID)
    70  	fmt.Printf("alb: %+v", alb)
    71  }