Content-Length: 73875 | pFad | http://github.com/coder/coder/pull/18910.patch

thub.com From 356fb39ba4c6afeb19540a66f4c1e07e37356489 Mon Sep 17 00:00:00 2001 From: Susana Ferreira Date: Thu, 17 Jul 2025 08:49:55 +0000 Subject: [PATCH 1/5] feat(cli): add CLI support for listing presets --- cli/templateversionpresets.go | 137 ++++++++++++++++++ cli/templateversionpresets_test.go | 137 ++++++++++++++++++ cli/templateversions.go | 1 + .../coder_templates_versions_--help.golden | 1 + ...r_templates_versions_presets_--help.golden | 18 +++ ...ates_versions_presets_--help_--help.golden | 18 +++ coderd/apidoc/docs.go | 3 + coderd/apidoc/swagger.json | 3 + coderd/presets.go | 16 +- codersdk/presets.go | 1 + docs/manifest.json | 10 ++ docs/reference/api/schemas.md | 4 +- docs/reference/api/templates.md | 4 +- docs/reference/cli/templates_versions.md | 13 +- .../cli/templates_versions_presets.md | 28 ++++ .../cli/templates_versions_presets_list.md | 39 +++++ site/src/api/typesGenerated.ts | 1 + .../CreateWorkspacePageView.stories.tsx | 4 + 18 files changed, 427 insertions(+), 11 deletions(-) create mode 100644 cli/templateversionpresets.go create mode 100644 cli/templateversionpresets_test.go create mode 100644 cli/testdata/coder_templates_versions_presets_--help.golden create mode 100644 cli/testdata/coder_templates_versions_presets_--help_--help.golden create mode 100644 docs/reference/cli/templates_versions_presets.md create mode 100644 docs/reference/cli/templates_versions_presets_list.md diff --git a/cli/templateversionpresets.go b/cli/templateversionpresets.go new file mode 100644 index 0000000000000..984ffec331566 --- /dev/null +++ b/cli/templateversionpresets.go @@ -0,0 +1,137 @@ +package cli + +import ( + "fmt" + "strconv" + "strings" + + "golang.org/x/xerrors" + + "github.com/coder/coder/v2/cli/cliui" + "github.com/coder/coder/v2/codersdk" + "github.com/coder/serpent" +) + +func (r *RootCmd) templateVersionPresets() *serpent.Command { + cmd := &serpent.Command{ + Use: "presets", + Short: "Manage presets of the specified template version", + Aliases: []string{"preset"}, + Long: FormatExamples( + Example{ + Description: "List presets of a specific template version", + Command: "coder templates versions presets list my-template my-template-version", + }, + ), + Handler: func(inv *serpent.Invocation) error { + return inv.Command.HelpHandler(inv) + }, + Children: []*serpent.Command{ + r.templateVersionPresetsList(), + }, + } + + return cmd +} + +func (r *RootCmd) templateVersionPresetsList() *serpent.Command { + defaultColumns := []string{ + "name", + "parameters", + "default", + "prebuilds", + } + formatter := cliui.NewOutputFormatter( + cliui.TableFormat([]templateVersionPresetRow{}, defaultColumns), + cliui.JSONFormat(), + ) + client := new(codersdk.Client) + orgContext := NewOrganizationContext() + + cmd := &serpent.Command{ + Use: "list