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 }