github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/account/accountv1/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"log"
     7  	"os"
     8  
     9  	bluemix "github.com/IBM-Cloud/bluemix-go"
    10  	"github.com/IBM-Cloud/bluemix-go/api/account/accountv1"
    11  	"github.com/IBM-Cloud/bluemix-go/api/account/accountv2"
    12  	"github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2"
    13  	"github.com/IBM-Cloud/bluemix-go/session"
    14  )
    15  
    16  func main() {
    17  	var org string
    18  	flag.StringVar(&org, "org", "", "Bluemix Organization")
    19  
    20  	var region string
    21  	flag.StringVar(&region, "region", "us-south", "Bluemix Region")
    22  
    23  	c := new(bluemix.Config)
    24  	flag.BoolVar(&c.Debug, "debug", false, "Show full trace if on")
    25  	flag.Parse()
    26  
    27  	if org == "" {
    28  		flag.Usage()
    29  		os.Exit(1)
    30  	}
    31  
    32  	sess, err := session.New(c)
    33  	if err != nil {
    34  		log.Fatal(err)
    35  	}
    36  
    37  	client, err := mccpv2.New(sess)
    38  
    39  	if err != nil {
    40  		log.Fatal(err)
    41  	}
    42  
    43  	orgAPI := client.Organizations()
    44  	myorg, err := orgAPI.FindByName(org, region)
    45  
    46  	if err != nil {
    47  		log.Fatal(err)
    48  	}
    49  
    50  	accClient, err := accountv2.New(sess)
    51  	if err != nil {
    52  		log.Fatal(err)
    53  	}
    54  
    55  	accountAPI := accClient.Accounts()
    56  	myAccount, err := accountAPI.FindByOrg(myorg.GUID, region)
    57  	if err != nil {
    58  		log.Fatal(err)
    59  	}
    60  
    61  	accClient1, err := accountv1.New(sess)
    62  	if err != nil {
    63  		log.Fatal(err)
    64  	}
    65  	accountAPIV1 := accClient1.Accounts()
    66  	//Get list of users under account
    67  	accountUsers, err := accountAPIV1.GetAccountUsers(myAccount.GUID)
    68  	if err != nil {
    69  		log.Fatal(err)
    70  	}
    71  	for _, accountUser := range accountUsers {
    72  		fmt.Println(accountUser.Email + " " + accountUser.State + " " + accountUser.Role + " " + accountUser.IbmUniqueId + " " + accountUser.Id)
    73  	}
    74  }