github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/V2containers/DedicatedHost/CreateCluster/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 clusterInfo = v2.ClusterCreateRequest{ 34 DisablePublicServiceEndpoint: true, 35 Name: Name, 36 Provider: "vpc-gen2", 37 WorkerPools: v2.WorkerPoolConfig{ 38 HostPoolID: HostPoolID, 39 CommonWorkerPoolConfig: v2.CommonWorkerPoolConfig{ 40 DiskEncryption: false, 41 Flavor: "bx2d.16x64", 42 VpcID: VpcID, 43 WorkerCount: 1, 44 Zones: []v2.Zone{ 45 { 46 ID: Zone, 47 SubnetID: SubnetID, 48 }, 49 }, 50 }, 51 }, 52 } 53 sess, err := session.New(c) 54 if err != nil { 55 log.Fatal(err) 56 } 57 target := v2.ClusterTargetHeader{} 58 v2Client, err := v2.New(sess) 59 if err != nil { 60 log.Fatal(err) 61 } 62 clustersAPI := v2Client.Clusters() 63 out, err := clustersAPI.Create(clusterInfo, target) 64 if err != nil { 65 log.Fatal(err) 66 } 67 fmt.Println("out=", out) 68 }