(inv *serpent.Invocation, client *codersdk.Client, workspace codersdk.Workspace, parameterFlags workspaceParameterFlags, buildFlags buildFlags, action WorkspaceCLIAction)
| 205 | } |
| 206 | |
| 207 | func 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 | } |
no test coverage detected