github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/mccp/organization/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 "github.com/IBM-Cloud/bluemix-go/helpers" 9 10 "github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2" 11 "github.com/IBM-Cloud/bluemix-go/session" 12 "github.com/IBM-Cloud/bluemix-go/trace" 13 ) 14 15 func main() { 16 var org string 17 flag.StringVar(&org, "org", "", "Bluemix Organization") 18 19 var neworg string 20 flag.StringVar(&neworg, "neworg", "", "Bluemix Organization") 21 22 flag.Parse() 23 24 if org == "" || neworg == "" { 25 flag.Usage() 26 os.Exit(1) 27 } 28 29 trace.Logger = trace.NewLogger("true") 30 sess, err := session.New() 31 if err != nil { 32 log.Fatal(err) 33 } 34 35 region := sess.Config.Region 36 client, err := mccpv2.New(sess) 37 38 if err != nil { 39 log.Fatal(err) 40 } 41 42 orgAPI := client.Organizations() 43 44 payload := mccpv2.OrgCreateRequest{ 45 46 Name: org, 47 } 48 49 orgDetails, err := orgAPI.Create(payload) 50 if err != nil { 51 log.Fatal(err) 52 } 53 log.Println("Created Org Details:", orgDetails) 54 55 myorg, err := orgAPI.FindByName(org, region) 56 if err != nil { 57 log.Fatal(err) 58 } 59 60 log.Println(myorg.GUID, myorg.Name) 61 62 updatedPayload := mccpv2.OrgUpdateRequest{ 63 Name: helpers.String(neworg), 64 } 65 66 updatedOrgDetails, err := orgAPI.Update(myorg.GUID, updatedPayload) 67 if err != nil { 68 log.Fatal(err) 69 } 70 71 log.Println("Org Details after update:", updatedOrgDetails) 72 73 updatedOrg, err := orgAPI.FindByName(neworg, region) 74 if err != nil { 75 log.Fatal(err) 76 } 77 78 log.Println(updatedOrg.GUID, updatedOrg.Name) 79 80 getOrgByGUID, err := orgAPI.Get(updatedOrg.GUID) 81 if err != nil { 82 log.Fatal(err) 83 } 84 85 if updatedOrg.Name != getOrgByGUID.Entity.Name { 86 log.Fatalf("Org obtained from FindByName and Get doesn't match %s != %s", updatedOrg.GUID, getOrgByGUID.Metadata.GUID) 87 } 88 89 err = orgAPI.DeleteByRegion(updatedOrg.GUID, region, true) 90 if err != nil { 91 log.Fatal(err) 92 } 93 94 _, err = orgAPI.List(region) 95 if err != nil { 96 log.Fatal(err) 97 } 98 }