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

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"log"
     7  
     8  	bluemix "github.com/IBM-Cloud/bluemix-go"
     9  	v2 "github.com/IBM-Cloud/bluemix-go/api/container/containerv2"
    10  	"github.com/IBM-Cloud/bluemix-go/session"
    11  	"github.com/IBM-Cloud/bluemix-go/trace"
    12  )
    13  
    14  func main() {
    15  	var VpcID string
    16  	flag.StringVar(&VpcID, "vpcid", "", "VpcID")
    17  	var SubnetID string
    18  	flag.StringVar(&SubnetID, "subnetid", "", "SubnetID")
    19  	var Name string
    20  	flag.StringVar(&Name, "name", "bluemixV2Test", "Name")
    21  	var Zone string
    22  	flag.StringVar(&Zone, "zone", "us-south-1", "Zone")
    23  	var HostPoolID string
    24  	flag.StringVar(&HostPoolID, "hostpoolid", "", "HostPoolID")
    25  	flag.Parse()
    26  	fmt.Println("[FLAG]VpcID: ", VpcID)
    27  	fmt.Println("[FLAG]SubnetID: ", SubnetID)
    28  	fmt.Println("[FLAG]Name: ", Name)
    29  	fmt.Println("[FLAG]Zone: ", Zone)
    30  	fmt.Println("[FLAG]HostPoolID: ", HostPoolID)
    31  	c := new(bluemix.Config)
    32  	trace.Logger = trace.NewLogger("true")
    33  	var workerPoolInfo = v2.WorkerPoolRequest{
    34  		Cluster:    Name,
    35  		HostPoolID: HostPoolID,
    36  		CommonWorkerPoolConfig: v2.CommonWorkerPoolConfig{
    37  			Name:        fmt.Sprintf("%s-dhost-workerpool", Name),
    38  			Flavor:      "bx2d.16x64",
    39  			VpcID:       VpcID,
    40  			WorkerCount: 1,
    41  			Zones: []v2.Zone{
    42  				{
    43  					ID:       Zone,
    44  					SubnetID: SubnetID,
    45  				},
    46  			},
    47  		},
    48  	}
    49  	sess, err := session.New(c)
    50  	if err != nil {
    51  		log.Fatal(err)
    52  	}
    53  	target := v2.ClusterTargetHeader{}
    54  	v2Client, err := v2.New(sess)
    55  	if err != nil {
    56  		log.Fatal(err)
    57  	}
    58  	workerPoolAPI := v2Client.WorkerPools()
    59  	out, err := workerPoolAPI.CreateWorkerPool(workerPoolInfo, target)
    60  	if err != nil {
    61  		log.Fatal(err)
    62  	}
    63  	fmt.Println("out=", out)
    64  }