github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/globaltagging/globaltaggingv3/detach/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 "strings" 8 9 "github.com/IBM-Cloud/bluemix-go/api/globaltagging/globaltaggingv3" 10 "github.com/IBM-Cloud/bluemix-go/session" 11 "github.com/IBM-Cloud/bluemix-go/trace" 12 ) 13 14 func main() { 15 // Detach tags. Note this only detaches a tag from a resource it does not delete it as it could be attached 16 // to other resources. Call delete separately. 17 var resourceID string 18 var tagin string 19 flag.StringVar(&resourceID, "id", "", "CRN string") 20 flag.StringVar(&tagin, "tags", "", "List of comma separated tags to be detached prior to delete") 21 flag.Parse() 22 23 if resourceID == "" || tagin == "" { 24 flag.Usage() 25 os.Exit(1) 26 } 27 28 taglist := strings.Split(tagin, ",") 29 30 trace.Logger = trace.NewLogger("true") 31 sess, err := session.New() 32 if err != nil { 33 log.Fatal(err) 34 } 35 36 gtClient, err := globaltaggingv3.New(sess) 37 if err != nil { 38 log.Fatal(err) 39 } 40 41 tagUpdateResult, err := gtClient.Tags().DetachTags(resourceID, taglist) 42 if err != nil { 43 log.Fatal(err) 44 } 45 log.Println("Result: ", tagUpdateResult) 46 47 }