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

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"log"
     7  	"os"
     8  
     9  	"github.com/IBM-Cloud/bluemix-go/api/account/accountv2"
    10  	"github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2"
    11  	"github.com/IBM-Cloud/bluemix-go/session"
    12  	"github.com/IBM-Cloud/bluemix-go/trace"
    13  )
    14  
    15  func main() {
    16  	var org string
    17  	var ownerUserID string
    18  	flag.StringVar(&org, "org", "", "Bluemix Organization")
    19  	flag.StringVar(&ownerUserID, "owner_id", "", "Owner user id, for example - abc@c.com")
    20  
    21  	flag.Parse()
    22  
    23  	if org == "" || ownerUserID == "" {
    24  		flag.Usage()
    25  		os.Exit(1)
    26  	}
    27  
    28  	trace.Logger = trace.NewLogger("true")
    29  	sess, err := session.New()
    30  	if err != nil {
    31  		log.Fatal(err)
    32  	}
    33  
    34  	client, err := mccpv2.New(sess)
    35  
    36  	if err != nil {
    37  		log.Fatal(err)
    38  	}
    39  
    40  	orgAPI := client.Organizations()
    41  	myorg, err := orgAPI.FindByName(org, "us-south")
    42  
    43  	if err != nil {
    44  		log.Fatal(err)
    45  	}
    46  	accClient, err := accountv2.New(sess)
    47  	if err != nil {
    48  		log.Fatal(err)
    49  	}
    50  	accountAPI := accClient.Accounts()
    51  	myAccount, err := accountAPI.FindByOrg(myorg.GUID, "us-south")
    52  	if err != nil {
    53  		log.Fatal(err)
    54  	}
    55  	log.Println(myAccount.Name, myAccount.CountryCode, myAccount.OwnerUserID, myAccount.GUID)
    56  
    57  	myAccount, err = accountAPI.Get(myAccount.GUID)
    58  	if err != nil {
    59  		log.Fatal(err)
    60  	}
    61  	log.Println(myAccount.Name, myAccount.CountryCode, myAccount.OwnerUserID, myAccount.GUID)
    62  
    63  	myAccount, err = accountAPI.FindByOwner(ownerUserID)
    64  	if err != nil {
    65  		log.Fatal(err)
    66  	}
    67  	log.Println(myAccount.Name, myAccount.CountryCode, myAccount.OwnerUserID, myAccount.GUID)
    68  
    69  	allAccounts, err := accountAPI.List()
    70  	if err != nil {
    71  		log.Fatal(err)
    72  	}
    73  	for _, acc := range allAccounts {
    74  		fmt.Println(acc.OwnerUserID, acc.GUID)
    75  	}
    76  }