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  }