github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/resource/catalog/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/resourcev1/catalog"
    10  	"github.com/IBM-Cloud/bluemix-go/session"
    11  	"github.com/IBM-Cloud/bluemix-go/trace"
    12  )
    13  
    14  func main() {
    15  
    16  	var service string
    17  	flag.StringVar(&service, "service", "", "Name of the service offering")
    18  
    19  	flag.Parse()
    20  
    21  	if service == "" {
    22  		flag.Usage()
    23  		os.Exit(1)
    24  	}
    25  
    26  	trace.Logger = trace.NewLogger("true")
    27  	sess, err := session.New(&bluemix.Config{Debug: true})
    28  	if err != nil {
    29  		log.Fatal(err)
    30  	}
    31  
    32  	catalogClient, err := catalog.New(sess)
    33  
    34  	if err != nil {
    35  		log.Fatal(err)
    36  	}
    37  	resCatalogAPI := catalogClient.ResourceCatalog()
    38  
    39  	services, err := resCatalogAPI.GetServices()
    40  	if err != nil {
    41  		log.Fatal(err)
    42  	}
    43  	log.Println(services)
    44  
    45  	serviceRes, err := resCatalogAPI.FindByName(service, true)
    46  	if err != nil {
    47  		log.Fatal(err)
    48  	}
    49  	log.Println(serviceRes)
    50  
    51  	plans, err := resCatalogAPI.GetServicePlans(serviceRes[0])
    52  	if err != nil {
    53  		log.Fatal(err)
    54  	}
    55  
    56  	log.Println(plans)
    57  
    58  }