github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/cis/cisv1/monitors/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 "github.com/IBM-Cloud/bluemix-go/api/cis/cisv1" 9 "github.com/IBM-Cloud/bluemix-go/session" 10 "github.com/IBM-Cloud/bluemix-go/trace" 11 ) 12 13 func main() { 14 15 var cis_id string 16 flag.StringVar(&cis_id, "cis_id", "", "CRN of the CIS service instance") 17 18 flag.Parse() 19 20 if cis_id == "" { 21 flag.Usage() 22 os.Exit(1) 23 } 24 25 trace.Logger = trace.NewLogger("true") 26 sess, err := session.New() 27 if err != nil { 28 log.Fatal(err) 29 } 30 31 cisClient, err := cisv1.New(sess) 32 if err != nil { 33 log.Fatal(err) 34 } 35 monitorsAPI := cisClient.Monitors() 36 37 log.Println(">>>>>>>>> Monitor create") 38 params := cisv1.MonitorBody{ 39 ExpCodes: "200", 40 ExpBody: "", 41 Path: "/status", 42 MonType: "http", 43 Method: "GET", 44 Timeout: 5, 45 Retries: 2, 46 Interval: 60, 47 FollowRedirects: true, 48 AllowInsecure: false, 49 } 50 myMonitorPtr, err := monitorsAPI.CreateMonitor(cis_id, params) 51 52 if err != nil { 53 log.Fatal(err) 54 } 55 56 myMonitor := *myMonitorPtr 57 monitorId := myMonitor.Id 58 log.Println("Monitor create :", myMonitor) 59 60 log.Println(">>>>>>>>> Monitor read") 61 myMonitorPtr, err = monitorsAPI.GetMonitor(cis_id, monitorId) 62 63 if err != nil { 64 log.Fatal(err) 65 } 66 67 myMonitor = *myMonitorPtr 68 69 log.Println("Monitor Details by ID:", myMonitor) 70 71 log.Println(">>>>>>>>> Monitor delete") 72 err = monitorsAPI.DeleteMonitor(cis_id, monitorId) 73 if err != nil { 74 log.Fatal(err) 75 } 76 }