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 }