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 }