github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/container/V2containers/DedicatedHost/UpdateDedicatedHostPlacement/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  
    17  	var HostID string
    18  	flag.StringVar(&HostID, "hostid", "", "HostID")
    19  	var HostPoolID string
    20  	flag.StringVar(&HostPoolID, "hostpoolid", "", "HostPoolID")
    21  	var EnableDedicatedHostPlacement bool
    22  	flag.BoolVar(&EnableDedicatedHostPlacement, "enableplacement", false, "EnableDedicatedHostPlacement")
    23  
    24  	flag.Parse()
    25  	fmt.Println("[FLAG]HostID: ", HostID)
    26  	fmt.Println("[FLAG]HostPoolID: ", HostPoolID)
    27  	c := new(bluemix.Config)
    28  
    29  	trace.Logger = trace.NewLogger("true")
    30  
    31  	var updateDedicatedHost = v2.UpdateDedicatedHostPlacementRequest{
    32  		HostID:     HostID,
    33  		HostPoolID: HostPoolID,
    34  	}
    35  	sess, err := session.New(c)
    36  	if err != nil {
    37  		log.Fatal(err)
    38  	}
    39  
    40  	target := v2.ClusterTargetHeader{}
    41  
    42  	v2Client, err := v2.New(sess)
    43  	if err != nil {
    44  		log.Fatal(err)
    45  	}
    46  	dedicatedHostAPI := v2Client.DedicatedHost()
    47  
    48  	if EnableDedicatedHostPlacement {
    49  		err = dedicatedHostAPI.EnableDedicatedHostPlacement(updateDedicatedHost, target)
    50  		if err != nil {
    51  			fmt.Printf("EnableDedicatedHostPlacement was not successful: %v \n", err)
    52  			return
    53  		}
    54  		fmt.Printf("EnableDedicatedHostPlacement was successful \n")
    55  	} else {
    56  		err = dedicatedHostAPI.DisableDedicatedHostPlacement(updateDedicatedHost, target)
    57  		if err != nil {
    58  			fmt.Printf("DisableDedicatedHostPlacement was not successful: %v \n", err)
    59  			return
    60  		}
    61  		fmt.Printf("DisableDedicatedHostPlacement was successful \n")
    62  	}
    63  }