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  }