github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/mccp/space/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 bluemix "github.com/IBM-Cloud/bluemix-go" 9 "github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2" 10 "github.com/IBM-Cloud/bluemix-go/helpers" 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 space string 20 flag.StringVar(&space, "space", "", "Bluemix Space") 21 22 var region string 23 flag.StringVar(®ion, "region", "us-south", "Bluemix region") 24 25 flag.Parse() 26 27 if org == "" || space == "" { 28 flag.Usage() 29 os.Exit(1) 30 } 31 32 trace.Logger = trace.NewLogger("true") 33 sess, err := session.New(&bluemix.Config{Region: region, Debug: true}) 34 if err != nil { 35 log.Fatal(err) 36 } 37 38 client, err := mccpv2.New(sess) 39 40 if err != nil { 41 log.Fatal(err) 42 } 43 44 orgAPI := client.Organizations() 45 myorg, err := orgAPI.FindByName(org, region) 46 47 if err != nil { 48 log.Fatal(err) 49 } 50 51 spaceAPI := client.Spaces() 52 myspace, err := spaceAPI.FindByNameInOrg(myorg.GUID, space, region) 53 54 if err != nil { 55 log.Fatal(err) 56 } 57 log.Println(myorg.GUID, myspace.GUID) 58 59 quotaAPI := client.SpaceQuotas() 60 61 createRequest := mccpv2.SpaceQuotaCreateRequest{ 62 Name: "test2", 63 OrgGUID: myorg.GUID, 64 MemoryLimitInMB: 1024, 65 InstanceMemoryLimitInMB: 1024, 66 RoutesLimit: 50, 67 ServicesLimit: 150, 68 NonBasicServicesAllowed: false, 69 } 70 71 myquota, err := quotaAPI.Create(createRequest) 72 if err != nil { 73 log.Fatal(err) 74 } 75 76 spaceCreateRequest := mccpv2.SpaceCreateRequest{ 77 Name: "test", 78 OrgGUID: myorg.GUID, 79 SpaceQuotaGUID: myquota.Metadata.GUID, 80 } 81 newspace, err := spaceAPI.Create(spaceCreateRequest) 82 if err != nil { 83 log.Fatal(err) 84 } 85 86 newspace, err = spaceAPI.Get(newspace.Metadata.GUID) 87 if err != nil { 88 log.Fatal(err) 89 } 90 91 spaceUpdateRequest := mccpv2.SpaceUpdateRequest{ 92 Name: helpers.String("testupdate"), 93 } 94 newspace, err = spaceAPI.Update(newspace.Metadata.GUID, spaceUpdateRequest) 95 if err != nil { 96 log.Fatal(err) 97 } 98 99 err = spaceAPI.Delete(newspace.Metadata.GUID) 100 if err != nil { 101 log.Fatal(err) 102 } 103 104 err = quotaAPI.Delete(myquota.Metadata.GUID) 105 if err != nil { 106 log.Fatal(err) 107 } 108 }