Skip to content

Instantly share code, notes, and snippets.

@angrycub
Last active April 11, 2025 16:44
Show Gist options
  • Save angrycub/15747081c8424a50366894480565d3f8 to your computer and use it in GitHub Desktop.
Save angrycub/15747081c8424a50366894480565d3f8 to your computer and use it in GitHub Desktop.
Sample SDK code to fetch rich template parameters
package main
import (
"context"
"fmt"
"net/url"
"os"
"github.com/coder/coder/v2/codersdk"
"github.com/davecgh/go-spew/spew"
"github.com/google/uuid"
)
func die(msg string) {
fmt.Println(msg)
os.Exit(1)
}
func main() {
ctx := context.Background()
accessURL := os.Getenv("CODER_URL")
token := os.Getenv("CODER_TOKEN")
reqVersion := os.Getenv("TEMPLATE_VERSION")
parsedURL, err := url.Parse(accessURL)
if err != nil {
die(err.Error())
}
client := codersdk.New(parsedURL)
client.SetSessionToken(token)
rVer, err := uuid.Parse(reqVersion)
if err != nil {
die(err.Error())
}
tv, err := client.TemplateVersion(ctx, rVer)
if err != nil {
die(err.Error())
}
params, err := client.TemplateVersionRichParameters(ctx, tv.ID)
if err != nil {
die(err.Error())
}
spew.Dump(params)
fmt.Println("Success")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment