mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat(cli): add CLI support for listing presets (#18910)
## Description
This PR introduces a new `list presets` command to display the presets
associated with a given template.
By default, it displays the presets for the template's active version,
unless a `--template-version` flag is provided.
## Changes
* Added a new `list presets` command under `coder templates presets` to
display presets associated with a template.
* By default, the command lists presets from the template’s active
version.
* Users can override the default behavior by providing the
`--template-version` flag to target a specific version.
```
> coder templates versions presets list --help
USAGE:
coder templates presets list [flags] <template>
List all presets of the specified template. Defaults to the active template version.
OPTIONS:
-O, --org string, $CODER_ORGANIZATION
Select which organization (uuid or name) to use.
-c, --column [name|parameters|default|desired prebuild instances] (default: name,parameters,default,desired prebuild instances)
Columns to display in table output.
-o, --output table|json (default: table)
Output format.
--template-version string
Specify a template version to list presets for. Defaults to the active version.
```
Related PR: https://github.com/coder/coder/pull/18912 - please consider
both PRs together as they’re part of the same workflow
Relates to issue: https://github.com/coder/coder/issues/16594
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added CLI commands to manage and list presets for specific template
versions, supporting tabular and JSON output.
* Introduced a new CLI subcommand group for template version presets,
including detailed help and documentation.
* Added support for displaying and managing the desired number of
prebuild instances for presets in CLI, API, and UI.
* **Documentation**
* Updated and expanded CLI and API documentation to describe new
commands, options, and the desired prebuild instances field in presets.
* Added new help output and reference files for template version presets
commands.
* **Bug Fixes**
* Ensured correct handling and display of the desired prebuild instances
property for presets across CLI, API, and UI.
* **Tests**
* Introduced end-to-end tests for listing template version presets,
covering scenarios with and without presets.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Generated
+8
-6
@@ -5513,6 +5513,7 @@ Only certain features set these fields: - FeatureManagedAgentLimit|
|
||||
```json
|
||||
{
|
||||
"default": true,
|
||||
"desiredPrebuildInstances": 0,
|
||||
"id": "string",
|
||||
"name": "string",
|
||||
"parameters": [
|
||||
@@ -5526,12 +5527,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit|
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
|--------------|---------------------------------------------------------------|----------|--------------|-------------|
|
||||
| `default` | boolean | false | | |
|
||||
| `id` | string | false | | |
|
||||
| `name` | string | false | | |
|
||||
| `parameters` | array of [codersdk.PresetParameter](#codersdkpresetparameter) | false | | |
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
|----------------------------|---------------------------------------------------------------|----------|--------------|-------------|
|
||||
| `default` | boolean | false | | |
|
||||
| `desiredPrebuildInstances` | integer | false | | |
|
||||
| `id` | string | false | | |
|
||||
| `name` | string | false | | |
|
||||
| `parameters` | array of [codersdk.PresetParameter](#codersdkpresetparameter) | false | | |
|
||||
|
||||
## codersdk.PresetParameter
|
||||
|
||||
|
||||
Generated
+11
-9
@@ -2914,6 +2914,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/p
|
||||
[
|
||||
{
|
||||
"default": true,
|
||||
"desiredPrebuildInstances": 0,
|
||||
"id": "string",
|
||||
"name": "string",
|
||||
"parameters": [
|
||||
@@ -2936,15 +2937,16 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/p
|
||||
|
||||
Status Code **200**
|
||||
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
|----------------|---------|----------|--------------|-------------|
|
||||
| `[array item]` | array | false | | |
|
||||
| `» default` | boolean | false | | |
|
||||
| `» id` | string | false | | |
|
||||
| `» name` | string | false | | |
|
||||
| `» parameters` | array | false | | |
|
||||
| `»» name` | string | false | | |
|
||||
| `»» value` | string | false | | |
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
|------------------------------|---------|----------|--------------|-------------|
|
||||
| `[array item]` | array | false | | |
|
||||
| `» default` | boolean | false | | |
|
||||
| `» desiredPrebuildInstances` | integer | false | | |
|
||||
| `» id` | string | false | | |
|
||||
| `» name` | string | false | | |
|
||||
| `» parameters` | array | false | | |
|
||||
| `»» name` | string | false | | |
|
||||
| `»» value` | string | false | | |
|
||||
|
||||
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user