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

Function startWorkspace

cli/start.go:207–229  ·  view source on GitHub ↗
(inv *serpent.Invocation, client *codersdk.Client, workspace codersdk.Workspace, parameterFlags workspaceParameterFlags, buildFlags buildFlags, action WorkspaceCLIAction)

Source from the content-addressed store, hash-verified

205}
206
207func startWorkspace(inv *serpent.Invocation, client *codersdk.Client, workspace codersdk.Workspace, parameterFlags workspaceParameterFlags, buildFlags buildFlags, action WorkspaceCLIAction) (codersdk.WorkspaceBuild, error) {
208 if workspace.DormantAt != nil {
209 _, _ = fmt.Fprintln(inv.Stdout, "Activating dormant workspace...")
210 err := client.UpdateWorkspaceDormancy(inv.Context(), workspace.ID, codersdk.UpdateWorkspaceDormancy{
211 Dormant: false,
212 })
213 if err != nil {
214 return codersdk.WorkspaceBuild{}, xerrors.Errorf("activate workspace: %w", err)
215 }
216 }
217 req, err := buildWorkspaceStartRequest(inv, client, workspace, parameterFlags, buildFlags, action)
218 if err != nil {
219 return codersdk.WorkspaceBuild{}, err
220 }
221
222 build, err := client.CreateWorkspaceBuild(inv.Context(), workspace.ID, req)
223 if err != nil {
224 return codersdk.WorkspaceBuild{}, xerrors.Errorf("create workspace build: %w", err)
225 }
226 cliutil.WarnMatchedProvisioners(inv.Stderr, build.MatchedProvisioners, build.Job)
227
228 return build, nil
229}

Callers 4

startMethod · 0.70
restartMethod · 0.70
updateMethod · 0.70
GetWorkspaceAndAgentFunction · 0.70

Calls 6

WarnMatchedProvisionersFunction · 0.92
CreateWorkspaceBuildMethod · 0.80
ContextMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected