github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/V2containers/DedicatedHost/CreateDedicatedHost/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  	"github.com/IBM-Cloud/bluemix-go/session"
    10  	"github.com/IBM-Cloud/bluemix-go/trace"
    11  
    12  	v2 "github.com/IBM-Cloud/bluemix-go/api/container/containerv2"
    13  )
    14  
    15  func main() {
    16  	var Flavor string
    17  	flag.StringVar(&Flavor, "flavor", "", "Flavor")
    18  	var Zone string
    19  	flag.StringVar(&Zone, "zone", "us-south-1", "Zone")
    20  	var HostPoolID string
    21  	flag.StringVar(&HostPoolID, "hostpoolid", "", "HostPoolID")
    22  	flag.Parse()
    23  	fmt.Println("[FLAG]Flavor: ", Flavor)
    24  	fmt.Println("[FLAG]Zone: ", Zone)
    25  	fmt.Println("[FLAG]HostPoolID: ", HostPoolID)
    26  
    27  	c := new(bluemix.Config)
    28  
    29  	trace.Logger = trace.NewLogger("true")
    30  
    31  	var createDedicatedHost = v2.CreateDedicatedHostRequest{
    32  		Flavor:     Flavor,
    33  		HostPoolID: HostPoolID,
    34  		Zone:       Zone,
    35  	}
    36  	sess, err := session.New(c)
    37  	if err != nil {
    38  		log.Fatal(err)
    39  	}
    40  
    41  	target := v2.ClusterTargetHeader{}
    42  
    43  	v2Client, err := v2.New(sess)
    44  	if err != nil {
    45  		log.Fatal(err)
    46  	}
    47  	dedicatedHostAPI := v2Client.DedicatedHost()
    48  
    49  	dh, err := dedicatedHostAPI.CreateDedicatedHost(createDedicatedHost, target)
    50  	if err != nil {
    51  		fmt.Printf("Create was not successful: %v \n", err)
    52  		return
    53  	}
    54  	fmt.Printf("Create dedicated host response: %v \n", dh)
    55  }