github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/cis/cisv1/zonecreate/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  	var domain string
    19  	flag.StringVar(&domain, "domain", "", "DNS domain name for zone")
    20  
    21  	flag.Parse()
    22  
    23  	if domain == "" || cis_id == "" {
    24  		flag.Usage()
    25  		os.Exit(1)
    26  	}
    27  
    28  	trace.Logger = trace.NewLogger("true")
    29  	sess, err := session.New()
    30  	if err != nil {
    31  		log.Fatal(err)
    32  	}
    33  
    34  	cisClient, err := cisv1.New(sess)
    35  	if err != nil {
    36  		log.Fatal(err)
    37  	}
    38  	zonesAPI := cisClient.Zones()
    39  	params := cisv1.ZoneBody{Name: domain}
    40  	myZonePtr, err := zonesAPI.CreateZone(cis_id, params)
    41  
    42  	if err != nil {
    43  		log.Fatal(err)
    44  	}
    45  	myZone := *myZonePtr
    46  	zoneId := myZone.Id
    47  	myZonePtr, err = zonesAPI.GetZone(cis_id, zoneId)
    48  
    49  	if err != nil {
    50  		log.Fatal(err)
    51  	}
    52  
    53  }