diff --git a/cli/templatecreate.go b/cli/templatecreate.go
index 38f5d7d0d7fd0..cc877adeec972 100644
--- a/cli/templatecreate.go
+++ b/cli/templatecreate.go
@@ -29,9 +29,11 @@ func (r *RootCmd) templateCreate() *clibase.Cmd {
variablesFile string
variables []string
disableEveryone bool
- defaultTTL time.Duration
- failureTTL time.Duration
- inactivityTTL time.Duration
+
+ defaultTTL time.Duration
+ failureTTL time.Duration
+ inactivityTTL time.Duration
+ maxTTL time.Duration
uploadFlags templateUploadFlags
)
@@ -44,7 +46,7 @@ func (r *RootCmd) templateCreate() *clibase.Cmd {
r.InitClient(client),
),
Handler: func(inv *clibase.Invocation) error {
- if failureTTL != 0 || inactivityTTL != 0 {
+ if failureTTL != 0 || inactivityTTL != 0 || maxTTL != 0 {
// This call can be removed when workspace_actions is no longer experimental
experiments, exErr := client.Experiments(inv.Context())
if exErr != nil {
@@ -134,6 +136,7 @@ func (r *RootCmd) templateCreate() *clibase.Cmd {
VersionID: job.ID,
DefaultTTLMillis: ptr.Ref(defaultTTL.Milliseconds()),
FailureTTLMillis: ptr.Ref(failureTTL.Milliseconds()),
+ MaxTTLMillis: ptr.Ref(maxTTL.Milliseconds()),
TimeTilDormantMillis: ptr.Ref(inactivityTTL.Milliseconds()),
DisableEveryoneGroupAccess: disableEveryone,
}
@@ -198,6 +201,11 @@ func (r *RootCmd) templateCreate() *clibase.Cmd {
Default: "0h",
Value: clibase.DurationOf(&inactivityTTL),
},
+ {
+ Flag: "max-ttl",
+ Description: "Edit the template maximum time before shutdown - workspaces created from this template must shutdown within the given duration after starting. This is an enterprise-only feature.",
+ Value: clibase.DurationOf(&maxTTL),
+ },
{
Flag: "test.provisioner",
Description: "Customize the provisioner backend.",
diff --git a/cli/testdata/coder_templates_create_--help.golden b/cli/testdata/coder_templates_create_--help.golden
index a88fe64bdeba3..030fd5f385ee8 100644
--- a/cli/testdata/coder_templates_create_--help.golden
+++ b/cli/testdata/coder_templates_create_--help.golden
@@ -21,6 +21,11 @@ Create a template from the current directory or as specified by flag
Specify an inactivity TTL for workspaces created from this template.
This licensed feature's default is 0h (off).
+ --max-ttl duration
+ Edit the template maximum time before shutdown - workspaces created
+ from this template must shutdown within the given duration after
+ starting. This is an enterprise-only feature.
+
-m, --message string
Specify a message describing the changes in this version of the
template. Messages longer than 72 characters will be displayed as
diff --git a/docs/cli/templates_create.md b/docs/cli/templates_create.md
index 44081e8986120..8d7e0fa931cb5 100644
--- a/docs/cli/templates_create.md
+++ b/docs/cli/templates_create.md
@@ -57,6 +57,14 @@ Ignore warnings about not having a .terraform.lock.hcl file present in the templ
Specify an inactivity TTL for workspaces created from this template. This licensed feature's default is 0h (off).
+### --max-ttl
+
+| | |
+| ---- | --------------------- |
+| Type | duration
|
+
+Edit the template maximum time before shutdown - workspaces created from this template must shutdown within the given duration after starting. This is an enterprise-only feature.
+
### -m, --message
| | |
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: