github.com/IBM-Cloud/bluemix-go@v0.0.0-20240314082800-4e02a69b84b2/examples/container/kms/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 "github.com/IBM-Cloud/bluemix-go/session" 9 10 v1 "github.com/IBM-Cloud/bluemix-go/api/container/containerv1" 11 "github.com/IBM-Cloud/bluemix-go/trace" 12 ) 13 14 func main() { 15 16 var clusterID string 17 flag.StringVar(&clusterID, "clusterID", "", "cluster name or ID") 18 19 var kmsID string 20 flag.StringVar(&kmsID, "kmsID", "", "kms Id") 21 22 var rootKey string 23 flag.StringVar(&rootKey, "rootKey", "", "root Key") 24 25 var privateEndpoint bool 26 flag.BoolVar(&privateEndpoint, "privateEndpoint", false, " private Endpoint(true/false)") 27 28 flag.Parse() 29 30 trace.Logger = trace.NewLogger("true") 31 if kmsID == "" || clusterID == "" || rootKey == "" { 32 flag.Usage() 33 os.Exit(1) 34 } 35 36 sess, err := session.New() 37 if err != nil { 38 log.Fatal(err) 39 } 40 41 kmsClient, err := v1.New(sess) 42 if err != nil { 43 log.Fatal(err) 44 } 45 kmsAPI := kmsClient.Kms() 46 target := v1.ClusterHeader{} 47 48 //Enable the Kms 49 var kmsConfig = v1.KmsEnableReq{ 50 Cluster: clusterID, 51 Kms: kmsID, 52 Crk: rootKey, 53 PrivateEndpoint: privateEndpoint, 54 } 55 err = kmsAPI.EnableKms(kmsConfig, target) 56 if err != nil { 57 log.Fatal(err) 58 } 59 60 }