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

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"log"
     7  	"os"
     8  
     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 clusterID string
    18  	flag.StringVar(&clusterID, "clusterID", "", "cluster name or ID")
    19  
    20  	var kmsID string
    21  	flag.StringVar(&kmsID, "kmsID", "", "kms Id")
    22  
    23  	var rootKey string
    24  	flag.StringVar(&rootKey, "rootKey", "", "root Key")
    25  
    26  	var privateEndpoint bool
    27  	flag.BoolVar(&privateEndpoint, "privateEndpoint", false, " private Endpoint(true/false)")
    28  
    29  	flag.Parse()
    30  
    31  	trace.Logger = trace.NewLogger("true")
    32  	if kmsID == "" || clusterID == "" || rootKey == "" {
    33  		flag.Usage()
    34  		os.Exit(1)
    35  	}
    36  
    37  	sess, err := session.New()
    38  	if err != nil {
    39  		log.Fatal(err)
    40  	}
    41  
    42  	kmsClient, err := v2.New(sess)
    43  	if err != nil {
    44  		log.Fatal(err)
    45  	}
    46  	kmsAPI := kmsClient.Kms()
    47  	target := v2.ClusterHeader{}
    48  
    49  	//Enable the Kms
    50  	var kmsConfig = v2.KmsEnableReq{
    51  		Cluster:         clusterID,
    52  		Kms:             kmsID,
    53  		Crk:             rootKey,
    54  		PrivateEndpoint: privateEndpoint,
    55  	}
    56  
    57  	err = kmsAPI.EnableKms(kmsConfig, target)
    58  	fmt.Println("err=", err)
    59  
    60  }