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  }