github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/iamuum/access_group/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 "github.com/IBM-Cloud/bluemix-go/models" 9 10 "github.com/IBM-Cloud/bluemix-go/api/account/accountv2" 11 "github.com/IBM-Cloud/bluemix-go/api/iamuum/iamuumv2" 12 "github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2" 13 "github.com/IBM-Cloud/bluemix-go/session" 14 "github.com/IBM-Cloud/bluemix-go/trace" 15 ) 16 17 func main() { 18 var org string 19 flag.StringVar(&org, "org", "umaraliorg", "Bluemix Organization") 20 21 var accessGroup string 22 flag.StringVar(&accessGroup, "accessGroup", "test", "Bluemix access group name") 23 24 var user string 25 flag.StringVar(&user, "user", "umarali.nagoor@in.ibm.com", "IBM-id or email id of the user") 26 27 flag.Parse() 28 if org == "" || accessGroup == "" || user == "" { 29 flag.Usage() 30 os.Exit(1) 31 } 32 33 trace.Logger = trace.NewLogger("true") 34 sess, err := session.New() 35 if err != nil { 36 log.Fatal(err) 37 } 38 39 client, err := mccpv2.New(sess) 40 41 if err != nil { 42 log.Fatal(err) 43 } 44 orgAPI := client.Organizations() 45 myorg, err := orgAPI.FindByName(org, sess.Config.Region) 46 47 if err != nil { 48 log.Fatal(err) 49 } 50 51 accClient, err := accountv2.New(sess) 52 if err != nil { 53 log.Fatal(err) 54 } 55 accountAPI := accClient.Accounts() 56 myAccount, err := accountAPI.FindByOrg(myorg.GUID, sess.Config.Region) 57 if err != nil { 58 log.Fatal(err) 59 } 60 61 iamuumClient, err := iamuumv2.New(sess) 62 if err != nil { 63 log.Fatal(err) 64 } 65 accessGroupAPI := iamuumClient.AccessGroup() 66 67 data := models.AccessGroupV2{ 68 AccessGroup: models.AccessGroup{ 69 Name: accessGroup, 70 }, 71 } 72 agID, err := accessGroupAPI.Create(data, myAccount.GUID) 73 if err != nil { 74 log.Fatal(err) 75 } 76 log.Println("create", agID) 77 78 agID, _, err = accessGroupAPI.Get(agID.ID) 79 if err != nil { 80 log.Fatal(err) 81 } 82 log.Println("get", agID) 83 84 err = accessGroupAPI.Delete(agID.ID, false) 85 if err != nil { 86 log.Fatal(err) 87 } 88 89 accGroups, err1 := accessGroupAPI.List(myAccount.GUID, user) 90 if err1 != nil { 91 log.Fatal(err1) 92 } 93 log.Println("ListAccGroups=> ", accGroups) 94 95 }