MCPcopy Index your code
hub / github.com/coder/coder / stopWorkspace

Function stopWorkspace

cli/stop.go:68–90  ·  view source on GitHub ↗
(inv *serpent.Invocation, client *codersdk.Client, workspace codersdk.Workspace, bflags buildFlags)

Source from the content-addressed store, hash-verified

66}
67
68func stopWorkspace(inv *serpent.Invocation, client *codersdk.Client, workspace codersdk.Workspace, bflags buildFlags) (codersdk.WorkspaceBuild, error) {
69 if workspace.LatestBuild.Job.Status == codersdk.ProvisionerJobPending {
70 // cliutil.WarnMatchedProvisioners also checks if the job is pending
71 // but we still want to avoid users spamming multiple builds that will
72 // not be picked up.
73 cliui.Warn(inv.Stderr, "The workspace is already stopping!")
74 cliutil.WarnMatchedProvisioners(inv.Stderr, workspace.LatestBuild.MatchedProvisioners, workspace.LatestBuild.Job)
75 if _, err := cliui.Prompt(inv, cliui.PromptOptions{
76 Text: "Enqueue another stop?",
77 IsConfirm: true,
78 Default: cliui.ConfirmNo,
79 }); err != nil {
80 return codersdk.WorkspaceBuild{}, err
81 }
82 }
83 wbr := codersdk.CreateWorkspaceBuildRequest{
84 Transition: codersdk.WorkspaceTransitionStop,
85 }
86 if bflags.provisionerLogDebug {
87 wbr.LogLevel = codersdk.ProvisionerLogLevelDebug
88 }
89 return client.CreateWorkspaceBuild(inv.Context(), workspace.ID, wbr)
90}

Callers 2

stopMethod · 0.70
updateMethod · 0.70

Calls 5

WarnFunction · 0.92
WarnMatchedProvisionersFunction · 0.92
PromptFunction · 0.92
CreateWorkspaceBuildMethod · 0.80
ContextMethod · 0.65

Tested by

no test coverage detected