github.com/IBM-Cloud/bluemix-go@v0.0.0-20240314082800-4e02a69b84b2/examples/mccp/privatedomain/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"log"
     7  	"os"
     8  
     9  	"github.com/IBM-Cloud/bluemix-go/api/mccp/mccpv2"
    10  	"github.com/IBM-Cloud/bluemix-go/session"
    11  	"github.com/IBM-Cloud/bluemix-go/trace"
    12  )
    13  
    14  func main() {
    15  	var org string
    16  	flag.StringVar(&org, "org", "", "Bluemix Organization")
    17  
    18  	var name string
    19  	flag.StringVar(&name, "name", "myexample.net", "Private Domain Name")
    20  
    21  	flag.Parse()
    22  
    23  	if org == "" {
    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  	client, err := mccpv2.New(sess)
    35  	if err != nil {
    36  		log.Fatal(err)
    37  	}
    38  
    39  	orgAPI := client.Organizations()
    40  	region := sess.Config.Region
    41  	myorg, err := orgAPI.FindByName(org, region)
    42  	if err != nil {
    43  		log.Fatal(err)
    44  	}
    45  
    46  	privateDomainAPI := client.PrivateDomains()
    47  
    48  	payload := mccpv2.PrivateDomainRequest{
    49  		Name:    name,
    50  		OrgGUID: myorg.GUID,
    51  	}
    52  	domain, err := privateDomainAPI.Create(payload)
    53  	if err != nil {
    54  		log.Fatal(err)
    55  	}
    56  
    57  	domain, err = privateDomainAPI.Get(domain.Metadata.GUID)
    58  	if err != nil {
    59  		log.Fatal(err)
    60  	}
    61  	fmt.Println(domain)
    62  
    63  	err = privateDomainAPI.Delete(domain.Metadata.GUID, true)
    64  	if err != nil {
    65  		log.Fatal(err)
    66  	}
    67  
    68  }