UpdateWorkspaceBuildState updates the provisioner state of the build without triggering a new build. This is useful for state-only migrations.
(ctx context.Context, build uuid.UUID, state []byte)
| 210 | // UpdateWorkspaceBuildState updates the provisioner state of the build without |
| 211 | // triggering a new build. This is useful for state-only migrations. |
| 212 | func (c *Client) UpdateWorkspaceBuildState(ctx context.Context, build uuid.UUID, state []byte) error { |
| 213 | res, err := c.Request(ctx, http.MethodPut, fmt.Sprintf("/api/v2/workspacebuilds/%s/state", build), UpdateWorkspaceBuildStateRequest{ |
| 214 | State: state, |
| 215 | }) |
| 216 | if err != nil { |
| 217 | return err |
| 218 | } |
| 219 | defer res.Body.Close() |
| 220 | if res.StatusCode != http.StatusNoContent { |
| 221 | return ReadBodyAsError(res) |
| 222 | } |
| 223 | return nil |
| 224 | } |
| 225 | |
| 226 | func (c *Client) WorkspaceBuildByUsernameAndWorkspaceNameAndBuildNumber(ctx context.Context, username string, workspaceName string, buildNumber string) (WorkspaceBuild, error) { |
| 227 | res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/users/%s/workspace/%s/builds/%s", username, workspaceName, buildNumber), nil) |
no test coverage detected