github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/cis/cisv1/poolcreate/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  
    18  	flag.Parse()
    19  
    20  	if cis_id == "" {
    21  		flag.Usage()
    22  		os.Exit(1)
    23  	}
    24  
    25  	trace.Logger = trace.NewLogger("true")
    26  	sess, err := session.New()
    27  	if err != nil {
    28  		log.Fatal(err)
    29  	}
    30  
    31  	cisClient, err := cisv1.New(sess)
    32  	if err != nil {
    33  		log.Fatal(err)
    34  	}
    35  	poolsAPI := cisClient.Pools()
    36  
    37  	log.Println(">>>>>>>>>  Pool create")
    38  	origins := []cisv1.Origin{
    39  		{Name: "eu-origin1", Address: "150.0.0.1", Enabled: true, Weight: 1},
    40  		{Name: "eu-origin2", Address: "150.0.0.2", Enabled: true, Weight: 1},
    41  	}
    42  	checkRegions := []string{"EEU"}
    43  	params := cisv1.PoolBody{
    44  		Name:         "eu-pool",
    45  		Origins:      origins,
    46  		CheckRegions: checkRegions,
    47  		Enabled:      true,
    48  		MinOrigins:   1,
    49  	}
    50  	myPoolPtr, err := poolsAPI.CreatePool(cis_id, params)
    51  
    52  	if err != nil {
    53  		log.Fatal(err)
    54  	}
    55  
    56  	myPool := *myPoolPtr
    57  	poolId := myPool.Id
    58  	log.Println("Pool create :", myPool)
    59  
    60  	log.Println(">>>>>>>>>  Pool read")
    61  	myPoolPtr, err = poolsAPI.GetPool(cis_id, poolId)
    62  
    63  	if err != nil {
    64  		log.Fatal(err)
    65  	}
    66  
    67  }