github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/icd/icdv4/userpassword/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "net/url" 7 "os" 8 9 "github.com/IBM-Cloud/bluemix-go/api/icd/icdv4" 10 "github.com/IBM-Cloud/bluemix-go/session" 11 "github.com/IBM-Cloud/bluemix-go/trace" 12 ) 13 14 func main() { 15 16 var icdId string 17 var userId string 18 var password string 19 var count int 20 flag.StringVar(&icdId, "icdId", "", "CRN of the IBM Cloud Database service instance") 21 flag.StringVar(&userId, "userId", "", "User name") 22 flag.StringVar(&password, "password", "", "Password") 23 flag.Parse() 24 25 if icdId == "" || userId == "" || password == "" { 26 flag.Usage() 27 os.Exit(1) 28 } 29 icdId = url.PathEscape(icdId) 30 31 trace.Logger = trace.NewLogger("true") 32 sess, err := session.New() 33 if err != nil { 34 log.Fatal(err) 35 } 36 37 icdClient, err := icdv4.New(sess) 38 if err != nil { 39 log.Fatal(err) 40 } 41 taskAPI := icdClient.Tasks() 42 userAPI := icdClient.Users() 43 params := icdv4.UserReq{ 44 User: icdv4.User{ 45 Password: password, 46 }, 47 } 48 49 task, err := userAPI.UpdateUser(icdId, userId, params) 50 if err != nil { 51 log.Fatal(err) 52 } 53 count = 0 54 for { 55 innerTask, err := taskAPI.GetTask(task.Id) 56 if err != nil { 57 log.Fatal(err) 58 } 59 count = count + 1 60 log.Printf("Task : %v %v\n", count, innerTask) 61 if innerTask.Status == "completed" || innerTask.Status == "failed" || innerTask.Status == "" { 62 break 63 } 64 } 65 }