github.com/IBM-Cloud/bluemix-go@v0.0.0-20240314082800-4e02a69b84b2/examples/resource/management/group/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 "github.com/IBM-Cloud/bluemix-go/api/resource/resourcev1/management" 9 "github.com/IBM-Cloud/bluemix-go/models" 10 "github.com/IBM-Cloud/bluemix-go/session" 11 "github.com/IBM-Cloud/bluemix-go/trace" 12 ) 13 14 func main() { 15 16 var resourcegrp string 17 flag.StringVar(&resourcegrp, "name", "", "Name of the group") 18 19 flag.Parse() 20 21 if resourcegrp == "" { 22 flag.Usage() 23 os.Exit(1) 24 } 25 26 trace.Logger = trace.NewLogger("true") 27 sess, err := session.New() 28 if err != nil { 29 log.Fatal(err) 30 } 31 32 client, err := management.New(sess) 33 if err != nil { 34 log.Fatal(err) 35 } 36 37 resGrpAPI := client.ResourceGroup() 38 39 resourceGroupQuery := management.ResourceGroupQuery{ 40 Default: true, 41 } 42 43 grpList, err := resGrpAPI.List(&resourceGroupQuery) 44 45 if err != nil { 46 log.Fatal(err) 47 } 48 49 log.Println("Resource group default Details :", grpList) 50 51 var grpInfo = models.ResourceGroup{ 52 Name: resourcegrp, 53 } 54 55 grp, err := resGrpAPI.Create(grpInfo) 56 57 if err != nil { 58 log.Fatal(err) 59 } 60 61 log.Println("Resource group create :", grp) 62 63 grps, err := resGrpAPI.FindByName(nil, resourcegrp) 64 65 if err != nil { 66 log.Fatal(err) 67 } 68 69 log.Println("Resource group Details :", grps[0]) 70 71 grp, err = resGrpAPI.Get(grp.ID) 72 73 if err != nil { 74 log.Fatal(err) 75 } 76 77 log.Println("Resource group Details by ID:", grp) 78 79 var updateGrpInfo = management.ResourceGroupUpdateRequest{ 80 Name: "default", 81 } 82 83 grp, err = resGrpAPI.Update(grp.ID, &updateGrpInfo) 84 85 if err != nil { 86 log.Fatal(err) 87 } 88 89 log.Println("Resource group update :", grp) 90 91 err = resGrpAPI.Delete(grp.ID) 92 if err != nil { 93 log.Fatal(err) 94 } 95 96 }