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 }