Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/public-api/go/v1/v1connect/workspace.connect.go
2501 views
1
// Copyright (c) 2025 Gitpod GmbH. All rights reserved.
2
// Licensed under the GNU Affero General Public License (AGPL).
3
// See License.AGPL.txt in the project root for license information.
4
5
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
6
//
7
// Source: gitpod/v1/workspace.proto
8
9
package v1connect
10
11
import (
12
context "context"
13
errors "errors"
14
connect_go "github.com/bufbuild/connect-go"
15
v1 "github.com/gitpod-io/gitpod/components/public-api/go/v1"
16
http "net/http"
17
strings "strings"
18
)
19
20
// This is a compile-time assertion to ensure that this generated file and the connect package are
21
// compatible. If you get a compiler error that this constant is not defined, this code was
22
// generated with a version of connect newer than the one compiled into your binary. You can fix the
23
// problem by either regenerating this code with an older version of connect or updating the connect
24
// version compiled into your binary.
25
const _ = connect_go.IsAtLeastVersion0_1_0
26
27
const (
28
// WorkspaceServiceName is the fully-qualified name of the WorkspaceService service.
29
WorkspaceServiceName = "gitpod.v1.WorkspaceService"
30
)
31
32
// WorkspaceServiceClient is a client for the gitpod.v1.WorkspaceService service.
33
type WorkspaceServiceClient interface {
34
// GetWorkspace returns a single workspace.
35
//
36
// +return NOT_FOUND User does not have access to a workspace with the given
37
// ID +return NOT_FOUND Workspace does not exist
38
GetWorkspace(context.Context, *connect_go.Request[v1.GetWorkspaceRequest]) (*connect_go.Response[v1.GetWorkspaceResponse], error)
39
// WatchWorkspaceStatus watches the workspaces status changes
40
//
41
// workspace_id +return NOT_FOUND Workspace does not exist
42
WatchWorkspaceStatus(context.Context, *connect_go.Request[v1.WatchWorkspaceStatusRequest]) (*connect_go.ServerStreamForClient[v1.WatchWorkspaceStatusResponse], error)
43
// ListWorkspaces returns a list of workspaces that match the query.
44
ListWorkspaces(context.Context, *connect_go.Request[v1.ListWorkspacesRequest]) (*connect_go.Response[v1.ListWorkspacesResponse], error)
45
// ListWorkspaceSessions returns a list of workspace sessions that match the
46
ListWorkspaceSessions(context.Context, *connect_go.Request[v1.ListWorkspaceSessionsRequest]) (*connect_go.Response[v1.ListWorkspaceSessionsResponse], error)
47
// CreateAndStartWorkspace creates a new workspace and starts it.
48
CreateAndStartWorkspace(context.Context, *connect_go.Request[v1.CreateAndStartWorkspaceRequest]) (*connect_go.Response[v1.CreateAndStartWorkspaceResponse], error)
49
// StartWorkspace starts an existing workspace.
50
// If the specified workspace is not in stopped phase, this will return the
51
// workspace as is.
52
StartWorkspace(context.Context, *connect_go.Request[v1.StartWorkspaceRequest]) (*connect_go.Response[v1.StartWorkspaceResponse], error)
53
// UpdateWorkspace updates the workspace.
54
UpdateWorkspace(context.Context, *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error)
55
// StopWorkspace stops a running workspace.
56
StopWorkspace(context.Context, *connect_go.Request[v1.StopWorkspaceRequest]) (*connect_go.Response[v1.StopWorkspaceResponse], error)
57
// DeleteWorkspace deletes a workspace.
58
// When the workspace is running, it will be stopped as well.
59
// Deleted workspaces cannot be started again.
60
DeleteWorkspace(context.Context, *connect_go.Request[v1.DeleteWorkspaceRequest]) (*connect_go.Response[v1.DeleteWorkspaceResponse], error)
61
// ListWorkspaceClasses enumerates all available workspace classes.
62
ListWorkspaceClasses(context.Context, *connect_go.Request[v1.ListWorkspaceClassesRequest]) (*connect_go.Response[v1.ListWorkspaceClassesResponse], error)
63
// ParseContextURL parses a context URL and returns the workspace metadata and
64
// spec. Not implemented yet.
65
ParseContextURL(context.Context, *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error)
66
// GetWorkspaceDefaultImage returns the default workspace image of specified
67
// workspace.
68
GetWorkspaceDefaultImage(context.Context, *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error)
69
// SendHeartBeat sends a heartbeat to activate the workspace
70
SendHeartBeat(context.Context, *connect_go.Request[v1.SendHeartBeatRequest]) (*connect_go.Response[v1.SendHeartBeatResponse], error)
71
// GetWorkspaceOwnerToken returns an owner token of workspace.
72
GetWorkspaceOwnerToken(context.Context, *connect_go.Request[v1.GetWorkspaceOwnerTokenRequest]) (*connect_go.Response[v1.GetWorkspaceOwnerTokenResponse], error)
73
// GetWorkspaceEditorCredentials returns an credentials that is used in editor
74
// to encrypt and decrypt secrets
75
GetWorkspaceEditorCredentials(context.Context, *connect_go.Request[v1.GetWorkspaceEditorCredentialsRequest]) (*connect_go.Response[v1.GetWorkspaceEditorCredentialsResponse], error)
76
// CreateWorkspaceSnapshot creates a snapshot of the workspace that can be
77
// shared with others.
78
CreateWorkspaceSnapshot(context.Context, *connect_go.Request[v1.CreateWorkspaceSnapshotRequest]) (*connect_go.Response[v1.CreateWorkspaceSnapshotResponse], error)
79
// WaitWorkspaceSnapshot waits for the snapshot to be available or failed.
80
WaitForWorkspaceSnapshot(context.Context, *connect_go.Request[v1.WaitForWorkspaceSnapshotRequest]) (*connect_go.Response[v1.WaitForWorkspaceSnapshotResponse], error)
81
// UpdateWorkspacePort updates the port of workspace.
82
UpdateWorkspacePort(context.Context, *connect_go.Request[v1.UpdateWorkspacePortRequest]) (*connect_go.Response[v1.UpdateWorkspacePortResponse], error)
83
}
84
85
// NewWorkspaceServiceClient constructs a client for the gitpod.v1.WorkspaceService service. By
86
// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses,
87
// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the
88
// connect.WithGRPC() or connect.WithGRPCWeb() options.
89
//
90
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
91
// http://api.acme.com or https://acme.com/grpc).
92
func NewWorkspaceServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) WorkspaceServiceClient {
93
baseURL = strings.TrimRight(baseURL, "/")
94
return &workspaceServiceClient{
95
getWorkspace: connect_go.NewClient[v1.GetWorkspaceRequest, v1.GetWorkspaceResponse](
96
httpClient,
97
baseURL+"/gitpod.v1.WorkspaceService/GetWorkspace",
98
opts...,
99
),
100
watchWorkspaceStatus: connect_go.NewClient[v1.WatchWorkspaceStatusRequest, v1.WatchWorkspaceStatusResponse](
101
httpClient,
102
baseURL+"/gitpod.v1.WorkspaceService/WatchWorkspaceStatus",
103
opts...,
104
),
105
listWorkspaces: connect_go.NewClient[v1.ListWorkspacesRequest, v1.ListWorkspacesResponse](
106
httpClient,
107
baseURL+"/gitpod.v1.WorkspaceService/ListWorkspaces",
108
opts...,
109
),
110
listWorkspaceSessions: connect_go.NewClient[v1.ListWorkspaceSessionsRequest, v1.ListWorkspaceSessionsResponse](
111
httpClient,
112
baseURL+"/gitpod.v1.WorkspaceService/ListWorkspaceSessions",
113
opts...,
114
),
115
createAndStartWorkspace: connect_go.NewClient[v1.CreateAndStartWorkspaceRequest, v1.CreateAndStartWorkspaceResponse](
116
httpClient,
117
baseURL+"/gitpod.v1.WorkspaceService/CreateAndStartWorkspace",
118
opts...,
119
),
120
startWorkspace: connect_go.NewClient[v1.StartWorkspaceRequest, v1.StartWorkspaceResponse](
121
httpClient,
122
baseURL+"/gitpod.v1.WorkspaceService/StartWorkspace",
123
opts...,
124
),
125
updateWorkspace: connect_go.NewClient[v1.UpdateWorkspaceRequest, v1.UpdateWorkspaceResponse](
126
httpClient,
127
baseURL+"/gitpod.v1.WorkspaceService/UpdateWorkspace",
128
opts...,
129
),
130
stopWorkspace: connect_go.NewClient[v1.StopWorkspaceRequest, v1.StopWorkspaceResponse](
131
httpClient,
132
baseURL+"/gitpod.v1.WorkspaceService/StopWorkspace",
133
opts...,
134
),
135
deleteWorkspace: connect_go.NewClient[v1.DeleteWorkspaceRequest, v1.DeleteWorkspaceResponse](
136
httpClient,
137
baseURL+"/gitpod.v1.WorkspaceService/DeleteWorkspace",
138
opts...,
139
),
140
listWorkspaceClasses: connect_go.NewClient[v1.ListWorkspaceClassesRequest, v1.ListWorkspaceClassesResponse](
141
httpClient,
142
baseURL+"/gitpod.v1.WorkspaceService/ListWorkspaceClasses",
143
opts...,
144
),
145
parseContextURL: connect_go.NewClient[v1.ParseContextURLRequest, v1.ParseContextURLResponse](
146
httpClient,
147
baseURL+"/gitpod.v1.WorkspaceService/ParseContextURL",
148
opts...,
149
),
150
getWorkspaceDefaultImage: connect_go.NewClient[v1.GetWorkspaceDefaultImageRequest, v1.GetWorkspaceDefaultImageResponse](
151
httpClient,
152
baseURL+"/gitpod.v1.WorkspaceService/GetWorkspaceDefaultImage",
153
opts...,
154
),
155
sendHeartBeat: connect_go.NewClient[v1.SendHeartBeatRequest, v1.SendHeartBeatResponse](
156
httpClient,
157
baseURL+"/gitpod.v1.WorkspaceService/SendHeartBeat",
158
opts...,
159
),
160
getWorkspaceOwnerToken: connect_go.NewClient[v1.GetWorkspaceOwnerTokenRequest, v1.GetWorkspaceOwnerTokenResponse](
161
httpClient,
162
baseURL+"/gitpod.v1.WorkspaceService/GetWorkspaceOwnerToken",
163
opts...,
164
),
165
getWorkspaceEditorCredentials: connect_go.NewClient[v1.GetWorkspaceEditorCredentialsRequest, v1.GetWorkspaceEditorCredentialsResponse](
166
httpClient,
167
baseURL+"/gitpod.v1.WorkspaceService/GetWorkspaceEditorCredentials",
168
opts...,
169
),
170
createWorkspaceSnapshot: connect_go.NewClient[v1.CreateWorkspaceSnapshotRequest, v1.CreateWorkspaceSnapshotResponse](
171
httpClient,
172
baseURL+"/gitpod.v1.WorkspaceService/CreateWorkspaceSnapshot",
173
opts...,
174
),
175
waitForWorkspaceSnapshot: connect_go.NewClient[v1.WaitForWorkspaceSnapshotRequest, v1.WaitForWorkspaceSnapshotResponse](
176
httpClient,
177
baseURL+"/gitpod.v1.WorkspaceService/WaitForWorkspaceSnapshot",
178
opts...,
179
),
180
updateWorkspacePort: connect_go.NewClient[v1.UpdateWorkspacePortRequest, v1.UpdateWorkspacePortResponse](
181
httpClient,
182
baseURL+"/gitpod.v1.WorkspaceService/UpdateWorkspacePort",
183
opts...,
184
),
185
}
186
}
187
188
// workspaceServiceClient implements WorkspaceServiceClient.
189
type workspaceServiceClient struct {
190
getWorkspace *connect_go.Client[v1.GetWorkspaceRequest, v1.GetWorkspaceResponse]
191
watchWorkspaceStatus *connect_go.Client[v1.WatchWorkspaceStatusRequest, v1.WatchWorkspaceStatusResponse]
192
listWorkspaces *connect_go.Client[v1.ListWorkspacesRequest, v1.ListWorkspacesResponse]
193
listWorkspaceSessions *connect_go.Client[v1.ListWorkspaceSessionsRequest, v1.ListWorkspaceSessionsResponse]
194
createAndStartWorkspace *connect_go.Client[v1.CreateAndStartWorkspaceRequest, v1.CreateAndStartWorkspaceResponse]
195
startWorkspace *connect_go.Client[v1.StartWorkspaceRequest, v1.StartWorkspaceResponse]
196
updateWorkspace *connect_go.Client[v1.UpdateWorkspaceRequest, v1.UpdateWorkspaceResponse]
197
stopWorkspace *connect_go.Client[v1.StopWorkspaceRequest, v1.StopWorkspaceResponse]
198
deleteWorkspace *connect_go.Client[v1.DeleteWorkspaceRequest, v1.DeleteWorkspaceResponse]
199
listWorkspaceClasses *connect_go.Client[v1.ListWorkspaceClassesRequest, v1.ListWorkspaceClassesResponse]
200
parseContextURL *connect_go.Client[v1.ParseContextURLRequest, v1.ParseContextURLResponse]
201
getWorkspaceDefaultImage *connect_go.Client[v1.GetWorkspaceDefaultImageRequest, v1.GetWorkspaceDefaultImageResponse]
202
sendHeartBeat *connect_go.Client[v1.SendHeartBeatRequest, v1.SendHeartBeatResponse]
203
getWorkspaceOwnerToken *connect_go.Client[v1.GetWorkspaceOwnerTokenRequest, v1.GetWorkspaceOwnerTokenResponse]
204
getWorkspaceEditorCredentials *connect_go.Client[v1.GetWorkspaceEditorCredentialsRequest, v1.GetWorkspaceEditorCredentialsResponse]
205
createWorkspaceSnapshot *connect_go.Client[v1.CreateWorkspaceSnapshotRequest, v1.CreateWorkspaceSnapshotResponse]
206
waitForWorkspaceSnapshot *connect_go.Client[v1.WaitForWorkspaceSnapshotRequest, v1.WaitForWorkspaceSnapshotResponse]
207
updateWorkspacePort *connect_go.Client[v1.UpdateWorkspacePortRequest, v1.UpdateWorkspacePortResponse]
208
}
209
210
// GetWorkspace calls gitpod.v1.WorkspaceService.GetWorkspace.
211
func (c *workspaceServiceClient) GetWorkspace(ctx context.Context, req *connect_go.Request[v1.GetWorkspaceRequest]) (*connect_go.Response[v1.GetWorkspaceResponse], error) {
212
return c.getWorkspace.CallUnary(ctx, req)
213
}
214
215
// WatchWorkspaceStatus calls gitpod.v1.WorkspaceService.WatchWorkspaceStatus.
216
func (c *workspaceServiceClient) WatchWorkspaceStatus(ctx context.Context, req *connect_go.Request[v1.WatchWorkspaceStatusRequest]) (*connect_go.ServerStreamForClient[v1.WatchWorkspaceStatusResponse], error) {
217
return c.watchWorkspaceStatus.CallServerStream(ctx, req)
218
}
219
220
// ListWorkspaces calls gitpod.v1.WorkspaceService.ListWorkspaces.
221
func (c *workspaceServiceClient) ListWorkspaces(ctx context.Context, req *connect_go.Request[v1.ListWorkspacesRequest]) (*connect_go.Response[v1.ListWorkspacesResponse], error) {
222
return c.listWorkspaces.CallUnary(ctx, req)
223
}
224
225
// ListWorkspaceSessions calls gitpod.v1.WorkspaceService.ListWorkspaceSessions.
226
func (c *workspaceServiceClient) ListWorkspaceSessions(ctx context.Context, req *connect_go.Request[v1.ListWorkspaceSessionsRequest]) (*connect_go.Response[v1.ListWorkspaceSessionsResponse], error) {
227
return c.listWorkspaceSessions.CallUnary(ctx, req)
228
}
229
230
// CreateAndStartWorkspace calls gitpod.v1.WorkspaceService.CreateAndStartWorkspace.
231
func (c *workspaceServiceClient) CreateAndStartWorkspace(ctx context.Context, req *connect_go.Request[v1.CreateAndStartWorkspaceRequest]) (*connect_go.Response[v1.CreateAndStartWorkspaceResponse], error) {
232
return c.createAndStartWorkspace.CallUnary(ctx, req)
233
}
234
235
// StartWorkspace calls gitpod.v1.WorkspaceService.StartWorkspace.
236
func (c *workspaceServiceClient) StartWorkspace(ctx context.Context, req *connect_go.Request[v1.StartWorkspaceRequest]) (*connect_go.Response[v1.StartWorkspaceResponse], error) {
237
return c.startWorkspace.CallUnary(ctx, req)
238
}
239
240
// UpdateWorkspace calls gitpod.v1.WorkspaceService.UpdateWorkspace.
241
func (c *workspaceServiceClient) UpdateWorkspace(ctx context.Context, req *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error) {
242
return c.updateWorkspace.CallUnary(ctx, req)
243
}
244
245
// StopWorkspace calls gitpod.v1.WorkspaceService.StopWorkspace.
246
func (c *workspaceServiceClient) StopWorkspace(ctx context.Context, req *connect_go.Request[v1.StopWorkspaceRequest]) (*connect_go.Response[v1.StopWorkspaceResponse], error) {
247
return c.stopWorkspace.CallUnary(ctx, req)
248
}
249
250
// DeleteWorkspace calls gitpod.v1.WorkspaceService.DeleteWorkspace.
251
func (c *workspaceServiceClient) DeleteWorkspace(ctx context.Context, req *connect_go.Request[v1.DeleteWorkspaceRequest]) (*connect_go.Response[v1.DeleteWorkspaceResponse], error) {
252
return c.deleteWorkspace.CallUnary(ctx, req)
253
}
254
255
// ListWorkspaceClasses calls gitpod.v1.WorkspaceService.ListWorkspaceClasses.
256
func (c *workspaceServiceClient) ListWorkspaceClasses(ctx context.Context, req *connect_go.Request[v1.ListWorkspaceClassesRequest]) (*connect_go.Response[v1.ListWorkspaceClassesResponse], error) {
257
return c.listWorkspaceClasses.CallUnary(ctx, req)
258
}
259
260
// ParseContextURL calls gitpod.v1.WorkspaceService.ParseContextURL.
261
func (c *workspaceServiceClient) ParseContextURL(ctx context.Context, req *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error) {
262
return c.parseContextURL.CallUnary(ctx, req)
263
}
264
265
// GetWorkspaceDefaultImage calls gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage.
266
func (c *workspaceServiceClient) GetWorkspaceDefaultImage(ctx context.Context, req *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error) {
267
return c.getWorkspaceDefaultImage.CallUnary(ctx, req)
268
}
269
270
// SendHeartBeat calls gitpod.v1.WorkspaceService.SendHeartBeat.
271
func (c *workspaceServiceClient) SendHeartBeat(ctx context.Context, req *connect_go.Request[v1.SendHeartBeatRequest]) (*connect_go.Response[v1.SendHeartBeatResponse], error) {
272
return c.sendHeartBeat.CallUnary(ctx, req)
273
}
274
275
// GetWorkspaceOwnerToken calls gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken.
276
func (c *workspaceServiceClient) GetWorkspaceOwnerToken(ctx context.Context, req *connect_go.Request[v1.GetWorkspaceOwnerTokenRequest]) (*connect_go.Response[v1.GetWorkspaceOwnerTokenResponse], error) {
277
return c.getWorkspaceOwnerToken.CallUnary(ctx, req)
278
}
279
280
// GetWorkspaceEditorCredentials calls gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials.
281
func (c *workspaceServiceClient) GetWorkspaceEditorCredentials(ctx context.Context, req *connect_go.Request[v1.GetWorkspaceEditorCredentialsRequest]) (*connect_go.Response[v1.GetWorkspaceEditorCredentialsResponse], error) {
282
return c.getWorkspaceEditorCredentials.CallUnary(ctx, req)
283
}
284
285
// CreateWorkspaceSnapshot calls gitpod.v1.WorkspaceService.CreateWorkspaceSnapshot.
286
func (c *workspaceServiceClient) CreateWorkspaceSnapshot(ctx context.Context, req *connect_go.Request[v1.CreateWorkspaceSnapshotRequest]) (*connect_go.Response[v1.CreateWorkspaceSnapshotResponse], error) {
287
return c.createWorkspaceSnapshot.CallUnary(ctx, req)
288
}
289
290
// WaitForWorkspaceSnapshot calls gitpod.v1.WorkspaceService.WaitForWorkspaceSnapshot.
291
func (c *workspaceServiceClient) WaitForWorkspaceSnapshot(ctx context.Context, req *connect_go.Request[v1.WaitForWorkspaceSnapshotRequest]) (*connect_go.Response[v1.WaitForWorkspaceSnapshotResponse], error) {
292
return c.waitForWorkspaceSnapshot.CallUnary(ctx, req)
293
}
294
295
// UpdateWorkspacePort calls gitpod.v1.WorkspaceService.UpdateWorkspacePort.
296
func (c *workspaceServiceClient) UpdateWorkspacePort(ctx context.Context, req *connect_go.Request[v1.UpdateWorkspacePortRequest]) (*connect_go.Response[v1.UpdateWorkspacePortResponse], error) {
297
return c.updateWorkspacePort.CallUnary(ctx, req)
298
}
299
300
// WorkspaceServiceHandler is an implementation of the gitpod.v1.WorkspaceService service.
301
type WorkspaceServiceHandler interface {
302
// GetWorkspace returns a single workspace.
303
//
304
// +return NOT_FOUND User does not have access to a workspace with the given
305
// ID +return NOT_FOUND Workspace does not exist
306
GetWorkspace(context.Context, *connect_go.Request[v1.GetWorkspaceRequest]) (*connect_go.Response[v1.GetWorkspaceResponse], error)
307
// WatchWorkspaceStatus watches the workspaces status changes
308
//
309
// workspace_id +return NOT_FOUND Workspace does not exist
310
WatchWorkspaceStatus(context.Context, *connect_go.Request[v1.WatchWorkspaceStatusRequest], *connect_go.ServerStream[v1.WatchWorkspaceStatusResponse]) error
311
// ListWorkspaces returns a list of workspaces that match the query.
312
ListWorkspaces(context.Context, *connect_go.Request[v1.ListWorkspacesRequest]) (*connect_go.Response[v1.ListWorkspacesResponse], error)
313
// ListWorkspaceSessions returns a list of workspace sessions that match the
314
ListWorkspaceSessions(context.Context, *connect_go.Request[v1.ListWorkspaceSessionsRequest]) (*connect_go.Response[v1.ListWorkspaceSessionsResponse], error)
315
// CreateAndStartWorkspace creates a new workspace and starts it.
316
CreateAndStartWorkspace(context.Context, *connect_go.Request[v1.CreateAndStartWorkspaceRequest]) (*connect_go.Response[v1.CreateAndStartWorkspaceResponse], error)
317
// StartWorkspace starts an existing workspace.
318
// If the specified workspace is not in stopped phase, this will return the
319
// workspace as is.
320
StartWorkspace(context.Context, *connect_go.Request[v1.StartWorkspaceRequest]) (*connect_go.Response[v1.StartWorkspaceResponse], error)
321
// UpdateWorkspace updates the workspace.
322
UpdateWorkspace(context.Context, *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error)
323
// StopWorkspace stops a running workspace.
324
StopWorkspace(context.Context, *connect_go.Request[v1.StopWorkspaceRequest]) (*connect_go.Response[v1.StopWorkspaceResponse], error)
325
// DeleteWorkspace deletes a workspace.
326
// When the workspace is running, it will be stopped as well.
327
// Deleted workspaces cannot be started again.
328
DeleteWorkspace(context.Context, *connect_go.Request[v1.DeleteWorkspaceRequest]) (*connect_go.Response[v1.DeleteWorkspaceResponse], error)
329
// ListWorkspaceClasses enumerates all available workspace classes.
330
ListWorkspaceClasses(context.Context, *connect_go.Request[v1.ListWorkspaceClassesRequest]) (*connect_go.Response[v1.ListWorkspaceClassesResponse], error)
331
// ParseContextURL parses a context URL and returns the workspace metadata and
332
// spec. Not implemented yet.
333
ParseContextURL(context.Context, *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error)
334
// GetWorkspaceDefaultImage returns the default workspace image of specified
335
// workspace.
336
GetWorkspaceDefaultImage(context.Context, *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error)
337
// SendHeartBeat sends a heartbeat to activate the workspace
338
SendHeartBeat(context.Context, *connect_go.Request[v1.SendHeartBeatRequest]) (*connect_go.Response[v1.SendHeartBeatResponse], error)
339
// GetWorkspaceOwnerToken returns an owner token of workspace.
340
GetWorkspaceOwnerToken(context.Context, *connect_go.Request[v1.GetWorkspaceOwnerTokenRequest]) (*connect_go.Response[v1.GetWorkspaceOwnerTokenResponse], error)
341
// GetWorkspaceEditorCredentials returns an credentials that is used in editor
342
// to encrypt and decrypt secrets
343
GetWorkspaceEditorCredentials(context.Context, *connect_go.Request[v1.GetWorkspaceEditorCredentialsRequest]) (*connect_go.Response[v1.GetWorkspaceEditorCredentialsResponse], error)
344
// CreateWorkspaceSnapshot creates a snapshot of the workspace that can be
345
// shared with others.
346
CreateWorkspaceSnapshot(context.Context, *connect_go.Request[v1.CreateWorkspaceSnapshotRequest]) (*connect_go.Response[v1.CreateWorkspaceSnapshotResponse], error)
347
// WaitWorkspaceSnapshot waits for the snapshot to be available or failed.
348
WaitForWorkspaceSnapshot(context.Context, *connect_go.Request[v1.WaitForWorkspaceSnapshotRequest]) (*connect_go.Response[v1.WaitForWorkspaceSnapshotResponse], error)
349
// UpdateWorkspacePort updates the port of workspace.
350
UpdateWorkspacePort(context.Context, *connect_go.Request[v1.UpdateWorkspacePortRequest]) (*connect_go.Response[v1.UpdateWorkspacePortResponse], error)
351
}
352
353
// NewWorkspaceServiceHandler builds an HTTP handler from the service implementation. It returns the
354
// path on which to mount the handler and the handler itself.
355
//
356
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
357
// and JSON codecs. They also support gzip compression.
358
func NewWorkspaceServiceHandler(svc WorkspaceServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) {
359
mux := http.NewServeMux()
360
mux.Handle("/gitpod.v1.WorkspaceService/GetWorkspace", connect_go.NewUnaryHandler(
361
"/gitpod.v1.WorkspaceService/GetWorkspace",
362
svc.GetWorkspace,
363
opts...,
364
))
365
mux.Handle("/gitpod.v1.WorkspaceService/WatchWorkspaceStatus", connect_go.NewServerStreamHandler(
366
"/gitpod.v1.WorkspaceService/WatchWorkspaceStatus",
367
svc.WatchWorkspaceStatus,
368
opts...,
369
))
370
mux.Handle("/gitpod.v1.WorkspaceService/ListWorkspaces", connect_go.NewUnaryHandler(
371
"/gitpod.v1.WorkspaceService/ListWorkspaces",
372
svc.ListWorkspaces,
373
opts...,
374
))
375
mux.Handle("/gitpod.v1.WorkspaceService/ListWorkspaceSessions", connect_go.NewUnaryHandler(
376
"/gitpod.v1.WorkspaceService/ListWorkspaceSessions",
377
svc.ListWorkspaceSessions,
378
opts...,
379
))
380
mux.Handle("/gitpod.v1.WorkspaceService/CreateAndStartWorkspace", connect_go.NewUnaryHandler(
381
"/gitpod.v1.WorkspaceService/CreateAndStartWorkspace",
382
svc.CreateAndStartWorkspace,
383
opts...,
384
))
385
mux.Handle("/gitpod.v1.WorkspaceService/StartWorkspace", connect_go.NewUnaryHandler(
386
"/gitpod.v1.WorkspaceService/StartWorkspace",
387
svc.StartWorkspace,
388
opts...,
389
))
390
mux.Handle("/gitpod.v1.WorkspaceService/UpdateWorkspace", connect_go.NewUnaryHandler(
391
"/gitpod.v1.WorkspaceService/UpdateWorkspace",
392
svc.UpdateWorkspace,
393
opts...,
394
))
395
mux.Handle("/gitpod.v1.WorkspaceService/StopWorkspace", connect_go.NewUnaryHandler(
396
"/gitpod.v1.WorkspaceService/StopWorkspace",
397
svc.StopWorkspace,
398
opts...,
399
))
400
mux.Handle("/gitpod.v1.WorkspaceService/DeleteWorkspace", connect_go.NewUnaryHandler(
401
"/gitpod.v1.WorkspaceService/DeleteWorkspace",
402
svc.DeleteWorkspace,
403
opts...,
404
))
405
mux.Handle("/gitpod.v1.WorkspaceService/ListWorkspaceClasses", connect_go.NewUnaryHandler(
406
"/gitpod.v1.WorkspaceService/ListWorkspaceClasses",
407
svc.ListWorkspaceClasses,
408
opts...,
409
))
410
mux.Handle("/gitpod.v1.WorkspaceService/ParseContextURL", connect_go.NewUnaryHandler(
411
"/gitpod.v1.WorkspaceService/ParseContextURL",
412
svc.ParseContextURL,
413
opts...,
414
))
415
mux.Handle("/gitpod.v1.WorkspaceService/GetWorkspaceDefaultImage", connect_go.NewUnaryHandler(
416
"/gitpod.v1.WorkspaceService/GetWorkspaceDefaultImage",
417
svc.GetWorkspaceDefaultImage,
418
opts...,
419
))
420
mux.Handle("/gitpod.v1.WorkspaceService/SendHeartBeat", connect_go.NewUnaryHandler(
421
"/gitpod.v1.WorkspaceService/SendHeartBeat",
422
svc.SendHeartBeat,
423
opts...,
424
))
425
mux.Handle("/gitpod.v1.WorkspaceService/GetWorkspaceOwnerToken", connect_go.NewUnaryHandler(
426
"/gitpod.v1.WorkspaceService/GetWorkspaceOwnerToken",
427
svc.GetWorkspaceOwnerToken,
428
opts...,
429
))
430
mux.Handle("/gitpod.v1.WorkspaceService/GetWorkspaceEditorCredentials", connect_go.NewUnaryHandler(
431
"/gitpod.v1.WorkspaceService/GetWorkspaceEditorCredentials",
432
svc.GetWorkspaceEditorCredentials,
433
opts...,
434
))
435
mux.Handle("/gitpod.v1.WorkspaceService/CreateWorkspaceSnapshot", connect_go.NewUnaryHandler(
436
"/gitpod.v1.WorkspaceService/CreateWorkspaceSnapshot",
437
svc.CreateWorkspaceSnapshot,
438
opts...,
439
))
440
mux.Handle("/gitpod.v1.WorkspaceService/WaitForWorkspaceSnapshot", connect_go.NewUnaryHandler(
441
"/gitpod.v1.WorkspaceService/WaitForWorkspaceSnapshot",
442
svc.WaitForWorkspaceSnapshot,
443
opts...,
444
))
445
mux.Handle("/gitpod.v1.WorkspaceService/UpdateWorkspacePort", connect_go.NewUnaryHandler(
446
"/gitpod.v1.WorkspaceService/UpdateWorkspacePort",
447
svc.UpdateWorkspacePort,
448
opts...,
449
))
450
return "/gitpod.v1.WorkspaceService/", mux
451
}
452
453
// UnimplementedWorkspaceServiceHandler returns CodeUnimplemented from all methods.
454
type UnimplementedWorkspaceServiceHandler struct{}
455
456
func (UnimplementedWorkspaceServiceHandler) GetWorkspace(context.Context, *connect_go.Request[v1.GetWorkspaceRequest]) (*connect_go.Response[v1.GetWorkspaceResponse], error) {
457
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.GetWorkspace is not implemented"))
458
}
459
460
func (UnimplementedWorkspaceServiceHandler) WatchWorkspaceStatus(context.Context, *connect_go.Request[v1.WatchWorkspaceStatusRequest], *connect_go.ServerStream[v1.WatchWorkspaceStatusResponse]) error {
461
return connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.WatchWorkspaceStatus is not implemented"))
462
}
463
464
func (UnimplementedWorkspaceServiceHandler) ListWorkspaces(context.Context, *connect_go.Request[v1.ListWorkspacesRequest]) (*connect_go.Response[v1.ListWorkspacesResponse], error) {
465
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.ListWorkspaces is not implemented"))
466
}
467
468
func (UnimplementedWorkspaceServiceHandler) ListWorkspaceSessions(context.Context, *connect_go.Request[v1.ListWorkspaceSessionsRequest]) (*connect_go.Response[v1.ListWorkspaceSessionsResponse], error) {
469
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.ListWorkspaceSessions is not implemented"))
470
}
471
472
func (UnimplementedWorkspaceServiceHandler) CreateAndStartWorkspace(context.Context, *connect_go.Request[v1.CreateAndStartWorkspaceRequest]) (*connect_go.Response[v1.CreateAndStartWorkspaceResponse], error) {
473
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.CreateAndStartWorkspace is not implemented"))
474
}
475
476
func (UnimplementedWorkspaceServiceHandler) StartWorkspace(context.Context, *connect_go.Request[v1.StartWorkspaceRequest]) (*connect_go.Response[v1.StartWorkspaceResponse], error) {
477
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.StartWorkspace is not implemented"))
478
}
479
480
func (UnimplementedWorkspaceServiceHandler) UpdateWorkspace(context.Context, *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error) {
481
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.UpdateWorkspace is not implemented"))
482
}
483
484
func (UnimplementedWorkspaceServiceHandler) StopWorkspace(context.Context, *connect_go.Request[v1.StopWorkspaceRequest]) (*connect_go.Response[v1.StopWorkspaceResponse], error) {
485
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.StopWorkspace is not implemented"))
486
}
487
488
func (UnimplementedWorkspaceServiceHandler) DeleteWorkspace(context.Context, *connect_go.Request[v1.DeleteWorkspaceRequest]) (*connect_go.Response[v1.DeleteWorkspaceResponse], error) {
489
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.DeleteWorkspace is not implemented"))
490
}
491
492
func (UnimplementedWorkspaceServiceHandler) ListWorkspaceClasses(context.Context, *connect_go.Request[v1.ListWorkspaceClassesRequest]) (*connect_go.Response[v1.ListWorkspaceClassesResponse], error) {
493
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.ListWorkspaceClasses is not implemented"))
494
}
495
496
func (UnimplementedWorkspaceServiceHandler) ParseContextURL(context.Context, *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error) {
497
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.ParseContextURL is not implemented"))
498
}
499
500
func (UnimplementedWorkspaceServiceHandler) GetWorkspaceDefaultImage(context.Context, *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error) {
501
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage is not implemented"))
502
}
503
504
func (UnimplementedWorkspaceServiceHandler) SendHeartBeat(context.Context, *connect_go.Request[v1.SendHeartBeatRequest]) (*connect_go.Response[v1.SendHeartBeatResponse], error) {
505
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.SendHeartBeat is not implemented"))
506
}
507
508
func (UnimplementedWorkspaceServiceHandler) GetWorkspaceOwnerToken(context.Context, *connect_go.Request[v1.GetWorkspaceOwnerTokenRequest]) (*connect_go.Response[v1.GetWorkspaceOwnerTokenResponse], error) {
509
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken is not implemented"))
510
}
511
512
func (UnimplementedWorkspaceServiceHandler) GetWorkspaceEditorCredentials(context.Context, *connect_go.Request[v1.GetWorkspaceEditorCredentialsRequest]) (*connect_go.Response[v1.GetWorkspaceEditorCredentialsResponse], error) {
513
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials is not implemented"))
514
}
515
516
func (UnimplementedWorkspaceServiceHandler) CreateWorkspaceSnapshot(context.Context, *connect_go.Request[v1.CreateWorkspaceSnapshotRequest]) (*connect_go.Response[v1.CreateWorkspaceSnapshotResponse], error) {
517
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.CreateWorkspaceSnapshot is not implemented"))
518
}
519
520
func (UnimplementedWorkspaceServiceHandler) WaitForWorkspaceSnapshot(context.Context, *connect_go.Request[v1.WaitForWorkspaceSnapshotRequest]) (*connect_go.Response[v1.WaitForWorkspaceSnapshotResponse], error) {
521
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.WaitForWorkspaceSnapshot is not implemented"))
522
}
523
524
func (UnimplementedWorkspaceServiceHandler) UpdateWorkspacePort(context.Context, *connect_go.Request[v1.UpdateWorkspacePortRequest]) (*connect_go.Response[v1.UpdateWorkspacePortResponse], error) {
525
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.UpdateWorkspacePort is not implemented"))
526
}
527
528