@@ -75,29 +75,29 @@ type startWorkspaceArgs struct {
75
75
alwaysPrompt bool
76
76
}
77
77
78
- func startWorkspace (inv * clibase.Invocation , client * codersdk.Client , args startWorkspaceArgs ) (codersdk.WorkspaceBuild , error ) {
78
+ func workspaceStartRequest (inv * clibase.Invocation , client * codersdk.Client , args startWorkspaceArgs ) (codersdk.CreateWorkspaceBuildRequest , error ) {
79
79
version := args .workspace .LatestBuild .TemplateVersionID
80
80
if args .workspace .AutomaticUpdates == codersdk .AutomaticUpdatesAlways || (args .action == WorkspaceUpdate || args .action == WorkspaceCreate ) {
81
81
template , err := client .Template (inv .Context (), args .workspace .TemplateID )
82
82
if err != nil {
83
- return codersdk.WorkspaceBuild {}, xerrors .Errorf ("get template: %w" , err )
83
+ return codersdk.CreateWorkspaceBuildRequest {}, xerrors .Errorf ("get template: %w" , err )
84
84
}
85
85
version = template .ActiveVersionID
86
86
}
87
87
88
88
lastBuildParameters , err := client .WorkspaceBuildParameters (inv .Context (), args .workspace .LatestBuild .ID )
89
89
if err != nil {
90
- return codersdk.WorkspaceBuild {}, err
90
+ return codersdk.CreateWorkspaceBuildRequest {}, err
91
91
}
92
92
93
93
buildOptions , err := asWorkspaceBuildParameters (args .parameterFlags .buildOptions )
94
94
if err != nil {
95
- return codersdk.WorkspaceBuild {}, xerrors .Errorf ("unable to parse build options: %w" , err )
95
+ return codersdk.CreateWorkspaceBuildRequest {}, xerrors .Errorf ("unable to parse build options: %w" , err )
96
96
}
97
97
98
98
cliRichParameters , err := asWorkspaceBuildParameters (args .parameterFlags .richParameters )
99
99
if err != nil {
100
- return codersdk.WorkspaceBuild {}, xerrors .Errorf ("unable to parse build options: %w" , err )
100
+ return codersdk.CreateWorkspaceBuildRequest {}, xerrors .Errorf ("unable to parse build options: %w" , err )
101
101
}
102
102
103
103
buildParameters , err := prepWorkspaceBuild (inv , client , prepWorkspaceBuildArgs {
@@ -113,13 +113,20 @@ func startWorkspace(inv *clibase.Invocation, client *codersdk.Client, args start
113
113
RichParameterFile : args .parameterFlags .richParameterFile ,
114
114
})
115
115
if err != nil {
116
- return codersdk.WorkspaceBuild {}, err
116
+ return codersdk.CreateWorkspaceBuildRequest {}, err
117
117
}
118
118
119
- req := codersdk.CreateWorkspaceBuildRequest {
119
+ return codersdk.CreateWorkspaceBuildRequest {
120
120
Transition : codersdk .WorkspaceTransitionStart ,
121
121
RichParameterValues : buildParameters ,
122
122
TemplateVersionID : version ,
123
+ }, nil
124
+ }
125
+
126
+ func startWorkspace (inv * clibase.Invocation , client * codersdk.Client , args startWorkspaceArgs ) (codersdk.WorkspaceBuild , error ) {
127
+ req , err := workspaceStartRequest (inv , client , args )
128
+ if err != nil {
129
+ return codersdk.WorkspaceBuild {}, err
123
130
}
124
131
125
132
build , err := client .CreateWorkspaceBuild (inv .Context (), args .workspace .ID , req )
0 commit comments