github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/mccp/shareddomain/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"log"
     7  
     8  	"github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2"
     9  	"github.com/IBM-Cloud/bluemix-go/session"
    10  	"github.com/IBM-Cloud/bluemix-go/trace"
    11  )
    12  
    13  func main() {
    14  	var name string
    15  	flag.StringVar(&name, "name", "myexample.net", "Shared Domain Name")
    16  
    17  	flag.Parse()
    18  
    19  	trace.Logger = trace.NewLogger("true")
    20  	sess, err := session.New()
    21  	if err != nil {
    22  		log.Fatal(err)
    23  	}
    24  
    25  	client, err := mccpv2.New(sess)
    26  	if err != nil {
    27  		log.Fatal(err)
    28  	}
    29  
    30  	sharedDomainAPI := client.SharedDomains()
    31  
    32  	payload := mccpv2.SharedDomainRequest{
    33  		Name: name,
    34  	}
    35  	domain, err := sharedDomainAPI.Create(payload)
    36  	if err != nil {
    37  		log.Fatal(err)
    38  	}
    39  
    40  	domain, err = sharedDomainAPI.Get(domain.Metadata.GUID)
    41  	if err != nil {
    42  		log.Fatal(err)
    43  	}
    44  	fmt.Println(domain)
    45  
    46  	err = sharedDomainAPI.Delete(domain.Metadata.GUID, true)
    47  	if err != nil {
    48  		log.Fatal(err)
    49  	}
    50  
    51  }