github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/cce/v3/addons/urls.go (about)

     1  package addons
     2  
     3  import (
     4  	"net/url"
     5  	"strings"
     6  
     7  	"github.com/chnsz/golangsdk"
     8  )
     9  
    10  const (
    11  	rootPath = "addons"
    12  )
    13  
    14  func rootURL(client *golangsdk.ServiceClient, cluster_id string) string {
    15  	return CCEServiceURL(client, cluster_id, rootPath)
    16  }
    17  
    18  func resourceURL(client *golangsdk.ServiceClient, id, cluster_id string) string {
    19  	return CCEServiceURL(client, cluster_id, rootPath, id+"?cluster_id="+cluster_id)
    20  }
    21  
    22  func resourceUpdateURL(client *golangsdk.ServiceClient, id, cluster_id string) string {
    23  	return CCEServiceURL(client, cluster_id, rootPath, id)
    24  }
    25  
    26  func resourceListURL(client *golangsdk.ServiceClient, cluster_id string) string {
    27  	return CCEServiceURL(client, cluster_id, rootPath+"?cluster_id="+cluster_id)
    28  }
    29  
    30  func CCEServiceURL(client *golangsdk.ServiceClient, cluster_id string, parts ...string) string {
    31  	u, _ := url.Parse(client.ResourceBaseURL())
    32  	u.Host = cluster_id + "." + u.Host
    33  	rbUrl := u.String()
    34  	return rbUrl + strings.Join(parts, "/")
    35  }