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