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  }