github.com/IBM-Cloud/bluemix-go@v0.0.0-20240314082800-4e02a69b84b2/examples/cis/cisv1/firewall/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  	var zone_id string
    18  	flag.StringVar(&zone_id, "zone_id", "", "zone_id for zone")
    19  	var firewallType string
    20  	flag.StringVar(&firewallType, "firewallType", "", "firewallType for zone")
    21  
    22  	flag.Parse()
    23  
    24  	if zone_id == "" || cis_id == "" || firewallType == "" {
    25  		flag.Usage()
    26  		os.Exit(1)
    27  	}
    28  
    29  	trace.Logger = trace.NewLogger("true")
    30  	sess, err := session.New()
    31  	if err != nil {
    32  		log.Fatal(err)
    33  	}
    34  
    35  	cisClient, err := cisv1.New(sess)
    36  	if err != nil {
    37  		log.Fatal(err)
    38  	}
    39  	firewallAPI := cisClient.Firewall()
    40  
    41  	log.Println(">>>>>>>>>  Firewall create")
    42  
    43  	params := cisv1.FirewallBody{
    44  		Paused:         false,
    45  		Description:    "testlockdown1",
    46  		Urls:           []string{"www.cis-terraform.com"},
    47  		Configurations: []cisv1.Configuration{},
    48  	}
    49  	configuration := cisv1.Configuration{
    50  		Target: "ip",
    51  		Value:  "127.0.0.2",
    52  	}
    53  	params.Configurations = append(params.Configurations, configuration)
    54  
    55  	log.Println(params)
    56  
    57  	myFirewallPtr, err := firewallAPI.CreateFirewall(cis_id, zone_id, firewallType, params)
    58  
    59  	if err != nil {
    60  		log.Fatal(err)
    61  	}
    62  
    63  	myFirewall := *myFirewallPtr
    64  	FirewallID := myFirewall.ID
    65  	log.Println("Firewall create :", myFirewall)
    66  
    67  	log.Println(">>>>>>>>>  Firewall read")
    68  	myFirewallPtr, err = firewallAPI.GetFirewall(cis_id, zone_id, firewallType, FirewallID)
    69  
    70  	if err != nil {
    71  		log.Fatal(err)
    72  	}
    73  
    74  	myFirewall = *myFirewallPtr
    75  
    76  	log.Println("Firewall Details by ID:", myFirewall)
    77  
    78  	log.Println(">>>>>>>>>  Firewall delete")
    79  	err = firewallAPI.DeleteFirewall(cis_id, zone_id, firewallType, FirewallID)
    80  	if err != nil {
    81  		log.Fatal(err)
    82  	}
    83  }