@toshicloud/sdk 0.0.0-stage → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +250 -2
  3. package/dist/client.d.ts +153 -0
  4. package/dist/client.js +92 -0
  5. package/dist/errors.d.ts +28 -0
  6. package/dist/errors.js +77 -0
  7. package/dist/execute.d.ts +7 -0
  8. package/dist/execute.js +380 -0
  9. package/dist/gen/toshi/workspace/v1/artifacts_pb.d.ts +843 -0
  10. package/dist/gen/toshi/workspace/v1/artifacts_pb.js +96 -0
  11. package/dist/gen/toshi/workspace/v1/channels_pb.d.ts +2713 -0
  12. package/dist/gen/toshi/workspace/v1/channels_pb.js +336 -0
  13. package/dist/gen/toshi/workspace/v1/display_pb.d.ts +1166 -0
  14. package/dist/gen/toshi/workspace/v1/display_pb.js +214 -0
  15. package/dist/gen/toshi/workspace/v1/projects_pb.d.ts +1540 -0
  16. package/dist/gen/toshi/workspace/v1/projects_pb.js +207 -0
  17. package/dist/gen/toshi/workspace/v1/recordings_pb.d.ts +1024 -0
  18. package/dist/gen/toshi/workspace/v1/recordings_pb.js +201 -0
  19. package/dist/gen/toshi/workspace/v1/secrets_pb.d.ts +1214 -0
  20. package/dist/gen/toshi/workspace/v1/secrets_pb.js +182 -0
  21. package/dist/gen/toshi/workspace/v1/volumes_pb.d.ts +444 -0
  22. package/dist/gen/toshi/workspace/v1/volumes_pb.js +107 -0
  23. package/dist/gen/toshi/workspace/v1/webhook_pb.d.ts +1018 -0
  24. package/dist/gen/toshi/workspace/v1/webhook_pb.js +153 -0
  25. package/dist/gen/toshi/workspace/v1/workloads_pb.d.ts +2858 -0
  26. package/dist/gen/toshi/workspace/v1/workloads_pb.js +261 -0
  27. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +5380 -0
  28. package/dist/gen/toshi/workspace/v1/workspace_pb.js +855 -0
  29. package/dist/index.d.ts +15 -0
  30. package/dist/index.js +14 -0
  31. package/dist/interceptors.d.ts +10 -0
  32. package/dist/interceptors.js +159 -0
  33. package/dist/output.d.ts +7 -0
  34. package/dist/output.js +77 -0
  35. package/dist/retry.d.ts +42 -0
  36. package/dist/retry.js +254 -0
  37. package/dist/run.d.ts +10 -0
  38. package/dist/run.js +175 -0
  39. package/dist/stream.d.ts +21 -0
  40. package/dist/stream.js +84 -0
  41. package/dist/wait.d.ts +13 -0
  42. package/dist/wait.js +41 -0
  43. package/dist/watch.d.ts +16 -0
  44. package/dist/watch.js +277 -0
  45. package/package.json +47 -4
@@ -0,0 +1,2858 @@
1
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Duration, DurationJson, FieldMask, FieldMaskJson } from "@bufbuild/protobuf/wkt";
3
+ import type { BoundBinding, BoundBindingJson, CancelExecutionRequestSchema, CancelExecutionResponseSchema, CreatePreviewShareLinkRequestSchema, CreatePreviewShareLinkResponseSchema, EventType, EventTypeJson, ExecuteRequestSchema, ExecuteResponseSchema, GetOperationRequestSchema, GetOperationResponseSchema, HoldServiceRequestSchema, HoldServiceResponseSchema, Job, JobJson, JobSpec, JobSpecJson, JobState, JobStateJson, Keepalive, KeepaliveJson, ListEventsRequestSchema, ListEventsResponseSchema, ListPreviewShareLinksRequestSchema, ListPreviewShareLinksResponseSchema, ListServiceRunsRequestSchema, ListServiceRunsResponseSchema, Operation, OperationJson, Output, OutputJson, RecordingPolicy, RecordingPolicyJson, ReleaseServiceRequestSchema, ReleaseServiceResponseSchema, RevokePreviewShareLinkRequestSchema, RevokePreviewShareLinkResponseSchema, Sandbox, SandboxJson, SandboxSpec, SandboxSpecJson, SandboxState, SandboxStateJson, Service, ServiceJson, ServiceSpec, ServiceSpecJson, ServiceState, ServiceStateJson, SetServiceModeRequestSchema, SetServiceModeResponseSchema, StartServiceRequestSchema, StartServiceResponseSchema, StopServiceRequestSchema, StopServiceResponseSchema, WaitOperationRequestSchema, WaitOperationResponseSchema, WakeServiceRequestSchema, WakeServiceResponseSchema, WatchEventsRequestSchema, WatchEventsResponseSchema, WatchGuestLogRequestSchema, WatchGuestLogResponseSchema, WatchOutputRequestSchema, WatchOutputResponseSchema, WatchTelemetryRequestSchema, WatchTelemetryResponseSchema } from "./workspace_pb.js";
4
+ import type { Message } from "@bufbuild/protobuf";
5
+ /**
6
+ * Describes the file toshi/workspace/v1/workloads.proto.
7
+ */
8
+ export declare const file_toshi_workspace_v1_workloads: GenFile;
9
+ /**
10
+ * @generated from message toshi.workspace.v1.CreateJobRequest
11
+ */
12
+ export type CreateJobRequest = Message<"toshi.workspace.v1.CreateJobRequest"> & {
13
+ /**
14
+ * @generated from field: string project = 1;
15
+ */
16
+ project: string;
17
+ /**
18
+ * @generated from field: string environment = 2;
19
+ */
20
+ environment: string;
21
+ /**
22
+ * @generated from field: toshi.workspace.v1.JobSpec spec = 3;
23
+ */
24
+ spec?: JobSpec | undefined;
25
+ /**
26
+ * @generated from field: map<string, string> labels = 4;
27
+ */
28
+ labels: {
29
+ [key: string]: string;
30
+ };
31
+ /**
32
+ * Required: the same key on every retry of this create.
33
+ *
34
+ * @generated from field: string request_key = 5;
35
+ */
36
+ requestKey: string;
37
+ /**
38
+ * What the job records of its runs. UNSPECIFIED takes the default
39
+ * RecordingPolicy names.
40
+ *
41
+ * @generated from field: toshi.workspace.v1.RecordingPolicy recording = 6;
42
+ */
43
+ recording: RecordingPolicy;
44
+ /**
45
+ * Block until the job ends, at most this long. Zero returns at once.
46
+ *
47
+ * @generated from field: google.protobuf.Duration wait_for_end = 7;
48
+ */
49
+ waitForEnd?: Duration | undefined;
50
+ };
51
+ /**
52
+ * @generated from message toshi.workspace.v1.CreateJobRequest
53
+ */
54
+ export type CreateJobRequestJson = {
55
+ /**
56
+ * @generated from field: string project = 1;
57
+ */
58
+ project?: string;
59
+ /**
60
+ * @generated from field: string environment = 2;
61
+ */
62
+ environment?: string;
63
+ /**
64
+ * @generated from field: toshi.workspace.v1.JobSpec spec = 3;
65
+ */
66
+ spec?: JobSpecJson;
67
+ /**
68
+ * @generated from field: map<string, string> labels = 4;
69
+ */
70
+ labels?: {
71
+ [key: string]: string;
72
+ };
73
+ /**
74
+ * Required: the same key on every retry of this create.
75
+ *
76
+ * @generated from field: string request_key = 5;
77
+ */
78
+ requestKey?: string;
79
+ /**
80
+ * What the job records of its runs. UNSPECIFIED takes the default
81
+ * RecordingPolicy names.
82
+ *
83
+ * @generated from field: toshi.workspace.v1.RecordingPolicy recording = 6;
84
+ */
85
+ recording?: RecordingPolicyJson;
86
+ /**
87
+ * Block until the job ends, at most this long. Zero returns at once.
88
+ *
89
+ * @generated from field: google.protobuf.Duration wait_for_end = 7;
90
+ */
91
+ waitForEnd?: DurationJson;
92
+ };
93
+ /**
94
+ * Describes the message toshi.workspace.v1.CreateJobRequest.
95
+ * Use `create(CreateJobRequestSchema)` to create a new message.
96
+ */
97
+ export declare const CreateJobRequestSchema: GenMessage<CreateJobRequest, {
98
+ jsonType: CreateJobRequestJson;
99
+ }>;
100
+ /**
101
+ * @generated from message toshi.workspace.v1.CreateJobResponse
102
+ */
103
+ export type CreateJobResponse = Message<"toshi.workspace.v1.CreateJobResponse"> & {
104
+ /**
105
+ * @generated from field: toshi.workspace.v1.Job job = 1;
106
+ */
107
+ job?: Job | undefined;
108
+ /**
109
+ * Set when wait_for_end was set and the job had ended when the call
110
+ * answered.
111
+ *
112
+ * @generated from field: toshi.workspace.v1.Output output = 2;
113
+ */
114
+ output?: Output | undefined;
115
+ };
116
+ /**
117
+ * @generated from message toshi.workspace.v1.CreateJobResponse
118
+ */
119
+ export type CreateJobResponseJson = {
120
+ /**
121
+ * @generated from field: toshi.workspace.v1.Job job = 1;
122
+ */
123
+ job?: JobJson;
124
+ /**
125
+ * Set when wait_for_end was set and the job had ended when the call
126
+ * answered.
127
+ *
128
+ * @generated from field: toshi.workspace.v1.Output output = 2;
129
+ */
130
+ output?: OutputJson;
131
+ };
132
+ /**
133
+ * Describes the message toshi.workspace.v1.CreateJobResponse.
134
+ * Use `create(CreateJobResponseSchema)` to create a new message.
135
+ */
136
+ export declare const CreateJobResponseSchema: GenMessage<CreateJobResponse, {
137
+ jsonType: CreateJobResponseJson;
138
+ }>;
139
+ /**
140
+ * @generated from message toshi.workspace.v1.GetJobRequest
141
+ */
142
+ export type GetJobRequest = Message<"toshi.workspace.v1.GetJobRequest"> & {
143
+ /**
144
+ * @generated from field: string project = 1;
145
+ */
146
+ project: string;
147
+ /**
148
+ * @generated from field: string environment = 2;
149
+ */
150
+ environment: string;
151
+ /**
152
+ * @generated from field: string id = 3;
153
+ */
154
+ id: string;
155
+ };
156
+ /**
157
+ * @generated from message toshi.workspace.v1.GetJobRequest
158
+ */
159
+ export type GetJobRequestJson = {
160
+ /**
161
+ * @generated from field: string project = 1;
162
+ */
163
+ project?: string;
164
+ /**
165
+ * @generated from field: string environment = 2;
166
+ */
167
+ environment?: string;
168
+ /**
169
+ * @generated from field: string id = 3;
170
+ */
171
+ id?: string;
172
+ };
173
+ /**
174
+ * Describes the message toshi.workspace.v1.GetJobRequest.
175
+ * Use `create(GetJobRequestSchema)` to create a new message.
176
+ */
177
+ export declare const GetJobRequestSchema: GenMessage<GetJobRequest, {
178
+ jsonType: GetJobRequestJson;
179
+ }>;
180
+ /**
181
+ * @generated from message toshi.workspace.v1.GetJobResponse
182
+ */
183
+ export type GetJobResponse = Message<"toshi.workspace.v1.GetJobResponse"> & {
184
+ /**
185
+ * @generated from field: toshi.workspace.v1.Job job = 1;
186
+ */
187
+ job?: Job | undefined;
188
+ /**
189
+ * The job's bindings as they were fixed when it started, in name order;
190
+ * empty before it started.
191
+ *
192
+ * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
193
+ */
194
+ bound: BoundBinding[];
195
+ };
196
+ /**
197
+ * @generated from message toshi.workspace.v1.GetJobResponse
198
+ */
199
+ export type GetJobResponseJson = {
200
+ /**
201
+ * @generated from field: toshi.workspace.v1.Job job = 1;
202
+ */
203
+ job?: JobJson;
204
+ /**
205
+ * The job's bindings as they were fixed when it started, in name order;
206
+ * empty before it started.
207
+ *
208
+ * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
209
+ */
210
+ bound?: BoundBindingJson[];
211
+ };
212
+ /**
213
+ * Describes the message toshi.workspace.v1.GetJobResponse.
214
+ * Use `create(GetJobResponseSchema)` to create a new message.
215
+ */
216
+ export declare const GetJobResponseSchema: GenMessage<GetJobResponse, {
217
+ jsonType: GetJobResponseJson;
218
+ }>;
219
+ /**
220
+ * @generated from message toshi.workspace.v1.ListJobsRequest
221
+ */
222
+ export type ListJobsRequest = Message<"toshi.workspace.v1.ListJobsRequest"> & {
223
+ /**
224
+ * @generated from field: string project = 1;
225
+ */
226
+ project: string;
227
+ /**
228
+ * @generated from field: string environment = 2;
229
+ */
230
+ environment: string;
231
+ /**
232
+ * Empty matches every state.
233
+ *
234
+ * @generated from field: repeated toshi.workspace.v1.JobState states = 3;
235
+ */
236
+ states: JobState[];
237
+ /**
238
+ * The most jobs in one page; zero lets the server choose.
239
+ *
240
+ * @generated from field: int32 page_size = 4;
241
+ */
242
+ pageSize: number;
243
+ /**
244
+ * From an earlier response's next_page_token; empty for the first page.
245
+ *
246
+ * @generated from field: string page_token = 5;
247
+ */
248
+ pageToken: string;
249
+ /**
250
+ * Only the jobs that carry every one of these labels, each with exactly
251
+ * this value. A job without one of the keys never matches, even when the
252
+ * value given is empty. No labels matches every job.
253
+ *
254
+ * @generated from field: map<string, string> labels = 6;
255
+ */
256
+ labels: {
257
+ [key: string]: string;
258
+ };
259
+ };
260
+ /**
261
+ * @generated from message toshi.workspace.v1.ListJobsRequest
262
+ */
263
+ export type ListJobsRequestJson = {
264
+ /**
265
+ * @generated from field: string project = 1;
266
+ */
267
+ project?: string;
268
+ /**
269
+ * @generated from field: string environment = 2;
270
+ */
271
+ environment?: string;
272
+ /**
273
+ * Empty matches every state.
274
+ *
275
+ * @generated from field: repeated toshi.workspace.v1.JobState states = 3;
276
+ */
277
+ states?: JobStateJson[];
278
+ /**
279
+ * The most jobs in one page; zero lets the server choose.
280
+ *
281
+ * @generated from field: int32 page_size = 4;
282
+ */
283
+ pageSize?: number;
284
+ /**
285
+ * From an earlier response's next_page_token; empty for the first page.
286
+ *
287
+ * @generated from field: string page_token = 5;
288
+ */
289
+ pageToken?: string;
290
+ /**
291
+ * Only the jobs that carry every one of these labels, each with exactly
292
+ * this value. A job without one of the keys never matches, even when the
293
+ * value given is empty. No labels matches every job.
294
+ *
295
+ * @generated from field: map<string, string> labels = 6;
296
+ */
297
+ labels?: {
298
+ [key: string]: string;
299
+ };
300
+ };
301
+ /**
302
+ * Describes the message toshi.workspace.v1.ListJobsRequest.
303
+ * Use `create(ListJobsRequestSchema)` to create a new message.
304
+ */
305
+ export declare const ListJobsRequestSchema: GenMessage<ListJobsRequest, {
306
+ jsonType: ListJobsRequestJson;
307
+ }>;
308
+ /**
309
+ * @generated from message toshi.workspace.v1.ListJobsResponse
310
+ */
311
+ export type ListJobsResponse = Message<"toshi.workspace.v1.ListJobsResponse"> & {
312
+ /**
313
+ * @generated from field: repeated toshi.workspace.v1.Job jobs = 1;
314
+ */
315
+ jobs: Job[];
316
+ /**
317
+ * Empty on the last page.
318
+ *
319
+ * @generated from field: string next_page_token = 2;
320
+ */
321
+ nextPageToken: string;
322
+ /**
323
+ * The event log's position when the first page was read; every page of
324
+ * the list returns it. WatchJobs from this cursor shows every change
325
+ * after the list.
326
+ *
327
+ * @generated from field: string cursor = 3;
328
+ */
329
+ cursor: string;
330
+ };
331
+ /**
332
+ * @generated from message toshi.workspace.v1.ListJobsResponse
333
+ */
334
+ export type ListJobsResponseJson = {
335
+ /**
336
+ * @generated from field: repeated toshi.workspace.v1.Job jobs = 1;
337
+ */
338
+ jobs?: JobJson[];
339
+ /**
340
+ * Empty on the last page.
341
+ *
342
+ * @generated from field: string next_page_token = 2;
343
+ */
344
+ nextPageToken?: string;
345
+ /**
346
+ * The event log's position when the first page was read; every page of
347
+ * the list returns it. WatchJobs from this cursor shows every change
348
+ * after the list.
349
+ *
350
+ * @generated from field: string cursor = 3;
351
+ */
352
+ cursor?: string;
353
+ };
354
+ /**
355
+ * Describes the message toshi.workspace.v1.ListJobsResponse.
356
+ * Use `create(ListJobsResponseSchema)` to create a new message.
357
+ */
358
+ export declare const ListJobsResponseSchema: GenMessage<ListJobsResponse, {
359
+ jsonType: ListJobsResponseJson;
360
+ }>;
361
+ /**
362
+ * @generated from message toshi.workspace.v1.UpdateJobRequest
363
+ */
364
+ export type UpdateJobRequest = Message<"toshi.workspace.v1.UpdateJobRequest"> & {
365
+ /**
366
+ * @generated from field: string project = 1;
367
+ */
368
+ project: string;
369
+ /**
370
+ * @generated from field: string environment = 2;
371
+ */
372
+ environment: string;
373
+ /**
374
+ * @generated from field: string id = 3;
375
+ */
376
+ id: string;
377
+ /**
378
+ * Carries the new values of the fields update_mask names.
379
+ *
380
+ * @generated from field: toshi.workspace.v1.Job job = 4;
381
+ */
382
+ job?: Job | undefined;
383
+ /**
384
+ * @generated from field: google.protobuf.FieldMask update_mask = 5;
385
+ */
386
+ updateMask?: FieldMask | undefined;
387
+ /**
388
+ * @generated from field: string request_key = 6;
389
+ */
390
+ requestKey: string;
391
+ };
392
+ /**
393
+ * @generated from message toshi.workspace.v1.UpdateJobRequest
394
+ */
395
+ export type UpdateJobRequestJson = {
396
+ /**
397
+ * @generated from field: string project = 1;
398
+ */
399
+ project?: string;
400
+ /**
401
+ * @generated from field: string environment = 2;
402
+ */
403
+ environment?: string;
404
+ /**
405
+ * @generated from field: string id = 3;
406
+ */
407
+ id?: string;
408
+ /**
409
+ * Carries the new values of the fields update_mask names.
410
+ *
411
+ * @generated from field: toshi.workspace.v1.Job job = 4;
412
+ */
413
+ job?: JobJson;
414
+ /**
415
+ * @generated from field: google.protobuf.FieldMask update_mask = 5;
416
+ */
417
+ updateMask?: FieldMaskJson;
418
+ /**
419
+ * @generated from field: string request_key = 6;
420
+ */
421
+ requestKey?: string;
422
+ };
423
+ /**
424
+ * Describes the message toshi.workspace.v1.UpdateJobRequest.
425
+ * Use `create(UpdateJobRequestSchema)` to create a new message.
426
+ */
427
+ export declare const UpdateJobRequestSchema: GenMessage<UpdateJobRequest, {
428
+ jsonType: UpdateJobRequestJson;
429
+ }>;
430
+ /**
431
+ * @generated from message toshi.workspace.v1.UpdateJobResponse
432
+ */
433
+ export type UpdateJobResponse = Message<"toshi.workspace.v1.UpdateJobResponse"> & {
434
+ /**
435
+ * @generated from field: toshi.workspace.v1.Job job = 1;
436
+ */
437
+ job?: Job | undefined;
438
+ };
439
+ /**
440
+ * @generated from message toshi.workspace.v1.UpdateJobResponse
441
+ */
442
+ export type UpdateJobResponseJson = {
443
+ /**
444
+ * @generated from field: toshi.workspace.v1.Job job = 1;
445
+ */
446
+ job?: JobJson;
447
+ };
448
+ /**
449
+ * Describes the message toshi.workspace.v1.UpdateJobResponse.
450
+ * Use `create(UpdateJobResponseSchema)` to create a new message.
451
+ */
452
+ export declare const UpdateJobResponseSchema: GenMessage<UpdateJobResponse, {
453
+ jsonType: UpdateJobResponseJson;
454
+ }>;
455
+ /**
456
+ * @generated from message toshi.workspace.v1.DeleteJobRequest
457
+ */
458
+ export type DeleteJobRequest = Message<"toshi.workspace.v1.DeleteJobRequest"> & {
459
+ /**
460
+ * @generated from field: string project = 1;
461
+ */
462
+ project: string;
463
+ /**
464
+ * @generated from field: string environment = 2;
465
+ */
466
+ environment: string;
467
+ /**
468
+ * @generated from field: string id = 3;
469
+ */
470
+ id: string;
471
+ /**
472
+ * @generated from field: string request_key = 4;
473
+ */
474
+ requestKey: string;
475
+ };
476
+ /**
477
+ * @generated from message toshi.workspace.v1.DeleteJobRequest
478
+ */
479
+ export type DeleteJobRequestJson = {
480
+ /**
481
+ * @generated from field: string project = 1;
482
+ */
483
+ project?: string;
484
+ /**
485
+ * @generated from field: string environment = 2;
486
+ */
487
+ environment?: string;
488
+ /**
489
+ * @generated from field: string id = 3;
490
+ */
491
+ id?: string;
492
+ /**
493
+ * @generated from field: string request_key = 4;
494
+ */
495
+ requestKey?: string;
496
+ };
497
+ /**
498
+ * Describes the message toshi.workspace.v1.DeleteJobRequest.
499
+ * Use `create(DeleteJobRequestSchema)` to create a new message.
500
+ */
501
+ export declare const DeleteJobRequestSchema: GenMessage<DeleteJobRequest, {
502
+ jsonType: DeleteJobRequestJson;
503
+ }>;
504
+ /**
505
+ * @generated from message toshi.workspace.v1.DeleteJobResponse
506
+ */
507
+ export type DeleteJobResponse = Message<"toshi.workspace.v1.DeleteJobResponse"> & {
508
+ /**
509
+ * @generated from field: toshi.workspace.v1.Operation operation = 1;
510
+ */
511
+ operation?: Operation | undefined;
512
+ };
513
+ /**
514
+ * @generated from message toshi.workspace.v1.DeleteJobResponse
515
+ */
516
+ export type DeleteJobResponseJson = {
517
+ /**
518
+ * @generated from field: toshi.workspace.v1.Operation operation = 1;
519
+ */
520
+ operation?: OperationJson;
521
+ };
522
+ /**
523
+ * Describes the message toshi.workspace.v1.DeleteJobResponse.
524
+ * Use `create(DeleteJobResponseSchema)` to create a new message.
525
+ */
526
+ export declare const DeleteJobResponseSchema: GenMessage<DeleteJobResponse, {
527
+ jsonType: DeleteJobResponseJson;
528
+ }>;
529
+ /**
530
+ * @generated from message toshi.workspace.v1.CancelJobRequest
531
+ */
532
+ export type CancelJobRequest = Message<"toshi.workspace.v1.CancelJobRequest"> & {
533
+ /**
534
+ * @generated from field: string project = 1;
535
+ */
536
+ project: string;
537
+ /**
538
+ * @generated from field: string environment = 2;
539
+ */
540
+ environment: string;
541
+ /**
542
+ * @generated from field: string id = 3;
543
+ */
544
+ id: string;
545
+ };
546
+ /**
547
+ * @generated from message toshi.workspace.v1.CancelJobRequest
548
+ */
549
+ export type CancelJobRequestJson = {
550
+ /**
551
+ * @generated from field: string project = 1;
552
+ */
553
+ project?: string;
554
+ /**
555
+ * @generated from field: string environment = 2;
556
+ */
557
+ environment?: string;
558
+ /**
559
+ * @generated from field: string id = 3;
560
+ */
561
+ id?: string;
562
+ };
563
+ /**
564
+ * Describes the message toshi.workspace.v1.CancelJobRequest.
565
+ * Use `create(CancelJobRequestSchema)` to create a new message.
566
+ */
567
+ export declare const CancelJobRequestSchema: GenMessage<CancelJobRequest, {
568
+ jsonType: CancelJobRequestJson;
569
+ }>;
570
+ /**
571
+ * @generated from message toshi.workspace.v1.CancelJobResponse
572
+ */
573
+ export type CancelJobResponse = Message<"toshi.workspace.v1.CancelJobResponse"> & {
574
+ /**
575
+ * @generated from field: toshi.workspace.v1.Job job = 1;
576
+ */
577
+ job?: Job | undefined;
578
+ };
579
+ /**
580
+ * @generated from message toshi.workspace.v1.CancelJobResponse
581
+ */
582
+ export type CancelJobResponseJson = {
583
+ /**
584
+ * @generated from field: toshi.workspace.v1.Job job = 1;
585
+ */
586
+ job?: JobJson;
587
+ };
588
+ /**
589
+ * Describes the message toshi.workspace.v1.CancelJobResponse.
590
+ * Use `create(CancelJobResponseSchema)` to create a new message.
591
+ */
592
+ export declare const CancelJobResponseSchema: GenMessage<CancelJobResponse, {
593
+ jsonType: CancelJobResponseJson;
594
+ }>;
595
+ /**
596
+ * @generated from message toshi.workspace.v1.WaitJobRequest
597
+ */
598
+ export type WaitJobRequest = Message<"toshi.workspace.v1.WaitJobRequest"> & {
599
+ /**
600
+ * @generated from field: string project = 1;
601
+ */
602
+ project: string;
603
+ /**
604
+ * @generated from field: string environment = 2;
605
+ */
606
+ environment: string;
607
+ /**
608
+ * @generated from field: string id = 3;
609
+ */
610
+ id: string;
611
+ /**
612
+ * Return once the job is in any of these states; empty means ENDED.
613
+ *
614
+ * @generated from field: repeated toshi.workspace.v1.JobState states = 4;
615
+ */
616
+ states: JobState[];
617
+ /**
618
+ * The longest to block.
619
+ *
620
+ * @generated from field: google.protobuf.Duration timeout = 5;
621
+ */
622
+ timeout?: Duration | undefined;
623
+ };
624
+ /**
625
+ * @generated from message toshi.workspace.v1.WaitJobRequest
626
+ */
627
+ export type WaitJobRequestJson = {
628
+ /**
629
+ * @generated from field: string project = 1;
630
+ */
631
+ project?: string;
632
+ /**
633
+ * @generated from field: string environment = 2;
634
+ */
635
+ environment?: string;
636
+ /**
637
+ * @generated from field: string id = 3;
638
+ */
639
+ id?: string;
640
+ /**
641
+ * Return once the job is in any of these states; empty means ENDED.
642
+ *
643
+ * @generated from field: repeated toshi.workspace.v1.JobState states = 4;
644
+ */
645
+ states?: JobStateJson[];
646
+ /**
647
+ * The longest to block.
648
+ *
649
+ * @generated from field: google.protobuf.Duration timeout = 5;
650
+ */
651
+ timeout?: DurationJson;
652
+ };
653
+ /**
654
+ * Describes the message toshi.workspace.v1.WaitJobRequest.
655
+ * Use `create(WaitJobRequestSchema)` to create a new message.
656
+ */
657
+ export declare const WaitJobRequestSchema: GenMessage<WaitJobRequest, {
658
+ jsonType: WaitJobRequestJson;
659
+ }>;
660
+ /**
661
+ * @generated from message toshi.workspace.v1.WaitJobResponse
662
+ */
663
+ export type WaitJobResponse = Message<"toshi.workspace.v1.WaitJobResponse"> & {
664
+ /**
665
+ * @generated from field: toshi.workspace.v1.Job job = 1;
666
+ */
667
+ job?: Job | undefined;
668
+ /**
669
+ * False when the bound passed first.
670
+ *
671
+ * @generated from field: bool reached = 2;
672
+ */
673
+ reached: boolean;
674
+ };
675
+ /**
676
+ * @generated from message toshi.workspace.v1.WaitJobResponse
677
+ */
678
+ export type WaitJobResponseJson = {
679
+ /**
680
+ * @generated from field: toshi.workspace.v1.Job job = 1;
681
+ */
682
+ job?: JobJson;
683
+ /**
684
+ * False when the bound passed first.
685
+ *
686
+ * @generated from field: bool reached = 2;
687
+ */
688
+ reached?: boolean;
689
+ };
690
+ /**
691
+ * Describes the message toshi.workspace.v1.WaitJobResponse.
692
+ * Use `create(WaitJobResponseSchema)` to create a new message.
693
+ */
694
+ export declare const WaitJobResponseSchema: GenMessage<WaitJobResponse, {
695
+ jsonType: WaitJobResponseJson;
696
+ }>;
697
+ /**
698
+ * @generated from message toshi.workspace.v1.WatchJobsRequest
699
+ */
700
+ export type WatchJobsRequest = Message<"toshi.workspace.v1.WatchJobsRequest"> & {
701
+ /**
702
+ * @generated from field: string project = 1;
703
+ */
704
+ project: string;
705
+ /**
706
+ * @generated from field: string environment = 2;
707
+ */
708
+ environment: string;
709
+ /**
710
+ * Changes after this position; empty starts at the oldest event the log
711
+ * keeps. A cursor older than that event fails with OUT_OF_RANGE.
712
+ *
713
+ * @generated from field: string cursor = 3;
714
+ */
715
+ cursor: string;
716
+ /**
717
+ * Ask for keepalives: a message with only keepalive set whenever the
718
+ * stream has sent nothing for an interval the server sets (30
719
+ * seconds by default). Without it the stream sends changes only.
720
+ *
721
+ * @generated from field: bool keepalive = 4;
722
+ */
723
+ keepalive: boolean;
724
+ };
725
+ /**
726
+ * @generated from message toshi.workspace.v1.WatchJobsRequest
727
+ */
728
+ export type WatchJobsRequestJson = {
729
+ /**
730
+ * @generated from field: string project = 1;
731
+ */
732
+ project?: string;
733
+ /**
734
+ * @generated from field: string environment = 2;
735
+ */
736
+ environment?: string;
737
+ /**
738
+ * Changes after this position; empty starts at the oldest event the log
739
+ * keeps. A cursor older than that event fails with OUT_OF_RANGE.
740
+ *
741
+ * @generated from field: string cursor = 3;
742
+ */
743
+ cursor?: string;
744
+ /**
745
+ * Ask for keepalives: a message with only keepalive set whenever the
746
+ * stream has sent nothing for an interval the server sets (30
747
+ * seconds by default). Without it the stream sends changes only.
748
+ *
749
+ * @generated from field: bool keepalive = 4;
750
+ */
751
+ keepalive?: boolean;
752
+ };
753
+ /**
754
+ * Describes the message toshi.workspace.v1.WatchJobsRequest.
755
+ * Use `create(WatchJobsRequestSchema)` to create a new message.
756
+ */
757
+ export declare const WatchJobsRequestSchema: GenMessage<WatchJobsRequest, {
758
+ jsonType: WatchJobsRequestJson;
759
+ }>;
760
+ /**
761
+ * @generated from message toshi.workspace.v1.WatchJobsResponse
762
+ */
763
+ export type WatchJobsResponse = Message<"toshi.workspace.v1.WatchJobsResponse"> & {
764
+ /**
765
+ * The event that recorded the change.
766
+ *
767
+ * @generated from field: toshi.workspace.v1.EventType type = 1;
768
+ */
769
+ type: EventType;
770
+ /**
771
+ * The job after the change.
772
+ *
773
+ * @generated from field: toshi.workspace.v1.Job job = 2;
774
+ */
775
+ job?: Job | undefined;
776
+ /**
777
+ * Resume after this change.
778
+ *
779
+ * @generated from field: string cursor = 3;
780
+ */
781
+ cursor: string;
782
+ /**
783
+ * Set on a keepalive, with every other field empty. Only a request
784
+ * with keepalive set gets one.
785
+ *
786
+ * @generated from field: toshi.workspace.v1.Keepalive keepalive = 4;
787
+ */
788
+ keepalive?: Keepalive | undefined;
789
+ };
790
+ /**
791
+ * @generated from message toshi.workspace.v1.WatchJobsResponse
792
+ */
793
+ export type WatchJobsResponseJson = {
794
+ /**
795
+ * The event that recorded the change.
796
+ *
797
+ * @generated from field: toshi.workspace.v1.EventType type = 1;
798
+ */
799
+ type?: EventTypeJson;
800
+ /**
801
+ * The job after the change.
802
+ *
803
+ * @generated from field: toshi.workspace.v1.Job job = 2;
804
+ */
805
+ job?: JobJson;
806
+ /**
807
+ * Resume after this change.
808
+ *
809
+ * @generated from field: string cursor = 3;
810
+ */
811
+ cursor?: string;
812
+ /**
813
+ * Set on a keepalive, with every other field empty. Only a request
814
+ * with keepalive set gets one.
815
+ *
816
+ * @generated from field: toshi.workspace.v1.Keepalive keepalive = 4;
817
+ */
818
+ keepalive?: KeepaliveJson;
819
+ };
820
+ /**
821
+ * Describes the message toshi.workspace.v1.WatchJobsResponse.
822
+ * Use `create(WatchJobsResponseSchema)` to create a new message.
823
+ */
824
+ export declare const WatchJobsResponseSchema: GenMessage<WatchJobsResponse, {
825
+ jsonType: WatchJobsResponseJson;
826
+ }>;
827
+ /**
828
+ * @generated from message toshi.workspace.v1.CreateSandboxRequest
829
+ */
830
+ export type CreateSandboxRequest = Message<"toshi.workspace.v1.CreateSandboxRequest"> & {
831
+ /**
832
+ * @generated from field: string project = 1;
833
+ */
834
+ project: string;
835
+ /**
836
+ * @generated from field: string environment = 2;
837
+ */
838
+ environment: string;
839
+ /**
840
+ * @generated from field: toshi.workspace.v1.SandboxSpec spec = 3;
841
+ */
842
+ spec?: SandboxSpec | undefined;
843
+ /**
844
+ * @generated from field: map<string, string> labels = 4;
845
+ */
846
+ labels: {
847
+ [key: string]: string;
848
+ };
849
+ /**
850
+ * Required: the same key on every retry of this create.
851
+ *
852
+ * @generated from field: string request_key = 5;
853
+ */
854
+ requestKey: string;
855
+ /**
856
+ * What the sandbox records of its runs: UNSPECIFIED or OFF. STRIP and
857
+ * VIDEO are a job's, and fail with INVALID_ARGUMENT.
858
+ *
859
+ * @generated from field: toshi.workspace.v1.RecordingPolicy recording = 6;
860
+ */
861
+ recording: RecordingPolicy;
862
+ };
863
+ /**
864
+ * @generated from message toshi.workspace.v1.CreateSandboxRequest
865
+ */
866
+ export type CreateSandboxRequestJson = {
867
+ /**
868
+ * @generated from field: string project = 1;
869
+ */
870
+ project?: string;
871
+ /**
872
+ * @generated from field: string environment = 2;
873
+ */
874
+ environment?: string;
875
+ /**
876
+ * @generated from field: toshi.workspace.v1.SandboxSpec spec = 3;
877
+ */
878
+ spec?: SandboxSpecJson;
879
+ /**
880
+ * @generated from field: map<string, string> labels = 4;
881
+ */
882
+ labels?: {
883
+ [key: string]: string;
884
+ };
885
+ /**
886
+ * Required: the same key on every retry of this create.
887
+ *
888
+ * @generated from field: string request_key = 5;
889
+ */
890
+ requestKey?: string;
891
+ /**
892
+ * What the sandbox records of its runs: UNSPECIFIED or OFF. STRIP and
893
+ * VIDEO are a job's, and fail with INVALID_ARGUMENT.
894
+ *
895
+ * @generated from field: toshi.workspace.v1.RecordingPolicy recording = 6;
896
+ */
897
+ recording?: RecordingPolicyJson;
898
+ };
899
+ /**
900
+ * Describes the message toshi.workspace.v1.CreateSandboxRequest.
901
+ * Use `create(CreateSandboxRequestSchema)` to create a new message.
902
+ */
903
+ export declare const CreateSandboxRequestSchema: GenMessage<CreateSandboxRequest, {
904
+ jsonType: CreateSandboxRequestJson;
905
+ }>;
906
+ /**
907
+ * @generated from message toshi.workspace.v1.CreateSandboxResponse
908
+ */
909
+ export type CreateSandboxResponse = Message<"toshi.workspace.v1.CreateSandboxResponse"> & {
910
+ /**
911
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
912
+ */
913
+ sandbox?: Sandbox | undefined;
914
+ };
915
+ /**
916
+ * @generated from message toshi.workspace.v1.CreateSandboxResponse
917
+ */
918
+ export type CreateSandboxResponseJson = {
919
+ /**
920
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
921
+ */
922
+ sandbox?: SandboxJson;
923
+ };
924
+ /**
925
+ * Describes the message toshi.workspace.v1.CreateSandboxResponse.
926
+ * Use `create(CreateSandboxResponseSchema)` to create a new message.
927
+ */
928
+ export declare const CreateSandboxResponseSchema: GenMessage<CreateSandboxResponse, {
929
+ jsonType: CreateSandboxResponseJson;
930
+ }>;
931
+ /**
932
+ * @generated from message toshi.workspace.v1.GetSandboxRequest
933
+ */
934
+ export type GetSandboxRequest = Message<"toshi.workspace.v1.GetSandboxRequest"> & {
935
+ /**
936
+ * @generated from field: string project = 1;
937
+ */
938
+ project: string;
939
+ /**
940
+ * @generated from field: string environment = 2;
941
+ */
942
+ environment: string;
943
+ /**
944
+ * @generated from field: string id = 3;
945
+ */
946
+ id: string;
947
+ };
948
+ /**
949
+ * @generated from message toshi.workspace.v1.GetSandboxRequest
950
+ */
951
+ export type GetSandboxRequestJson = {
952
+ /**
953
+ * @generated from field: string project = 1;
954
+ */
955
+ project?: string;
956
+ /**
957
+ * @generated from field: string environment = 2;
958
+ */
959
+ environment?: string;
960
+ /**
961
+ * @generated from field: string id = 3;
962
+ */
963
+ id?: string;
964
+ };
965
+ /**
966
+ * Describes the message toshi.workspace.v1.GetSandboxRequest.
967
+ * Use `create(GetSandboxRequestSchema)` to create a new message.
968
+ */
969
+ export declare const GetSandboxRequestSchema: GenMessage<GetSandboxRequest, {
970
+ jsonType: GetSandboxRequestJson;
971
+ }>;
972
+ /**
973
+ * @generated from message toshi.workspace.v1.GetSandboxResponse
974
+ */
975
+ export type GetSandboxResponse = Message<"toshi.workspace.v1.GetSandboxResponse"> & {
976
+ /**
977
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
978
+ */
979
+ sandbox?: Sandbox | undefined;
980
+ /**
981
+ * The sandbox's bindings as they were fixed when it started, in name
982
+ * order; empty before it started.
983
+ *
984
+ * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
985
+ */
986
+ bound: BoundBinding[];
987
+ };
988
+ /**
989
+ * @generated from message toshi.workspace.v1.GetSandboxResponse
990
+ */
991
+ export type GetSandboxResponseJson = {
992
+ /**
993
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
994
+ */
995
+ sandbox?: SandboxJson;
996
+ /**
997
+ * The sandbox's bindings as they were fixed when it started, in name
998
+ * order; empty before it started.
999
+ *
1000
+ * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
1001
+ */
1002
+ bound?: BoundBindingJson[];
1003
+ };
1004
+ /**
1005
+ * Describes the message toshi.workspace.v1.GetSandboxResponse.
1006
+ * Use `create(GetSandboxResponseSchema)` to create a new message.
1007
+ */
1008
+ export declare const GetSandboxResponseSchema: GenMessage<GetSandboxResponse, {
1009
+ jsonType: GetSandboxResponseJson;
1010
+ }>;
1011
+ /**
1012
+ * @generated from message toshi.workspace.v1.ListSandboxesRequest
1013
+ */
1014
+ export type ListSandboxesRequest = Message<"toshi.workspace.v1.ListSandboxesRequest"> & {
1015
+ /**
1016
+ * @generated from field: string project = 1;
1017
+ */
1018
+ project: string;
1019
+ /**
1020
+ * @generated from field: string environment = 2;
1021
+ */
1022
+ environment: string;
1023
+ /**
1024
+ * Empty matches every state.
1025
+ *
1026
+ * @generated from field: repeated toshi.workspace.v1.SandboxState states = 3;
1027
+ */
1028
+ states: SandboxState[];
1029
+ /**
1030
+ * The most sandboxes in one page; zero lets the server choose.
1031
+ *
1032
+ * @generated from field: int32 page_size = 4;
1033
+ */
1034
+ pageSize: number;
1035
+ /**
1036
+ * From an earlier response's next_page_token; empty for the first page.
1037
+ *
1038
+ * @generated from field: string page_token = 5;
1039
+ */
1040
+ pageToken: string;
1041
+ /**
1042
+ * Only the sandboxes that carry every one of these labels, each with
1043
+ * exactly this value, as ListJobsRequest's labels match.
1044
+ *
1045
+ * @generated from field: map<string, string> labels = 6;
1046
+ */
1047
+ labels: {
1048
+ [key: string]: string;
1049
+ };
1050
+ };
1051
+ /**
1052
+ * @generated from message toshi.workspace.v1.ListSandboxesRequest
1053
+ */
1054
+ export type ListSandboxesRequestJson = {
1055
+ /**
1056
+ * @generated from field: string project = 1;
1057
+ */
1058
+ project?: string;
1059
+ /**
1060
+ * @generated from field: string environment = 2;
1061
+ */
1062
+ environment?: string;
1063
+ /**
1064
+ * Empty matches every state.
1065
+ *
1066
+ * @generated from field: repeated toshi.workspace.v1.SandboxState states = 3;
1067
+ */
1068
+ states?: SandboxStateJson[];
1069
+ /**
1070
+ * The most sandboxes in one page; zero lets the server choose.
1071
+ *
1072
+ * @generated from field: int32 page_size = 4;
1073
+ */
1074
+ pageSize?: number;
1075
+ /**
1076
+ * From an earlier response's next_page_token; empty for the first page.
1077
+ *
1078
+ * @generated from field: string page_token = 5;
1079
+ */
1080
+ pageToken?: string;
1081
+ /**
1082
+ * Only the sandboxes that carry every one of these labels, each with
1083
+ * exactly this value, as ListJobsRequest's labels match.
1084
+ *
1085
+ * @generated from field: map<string, string> labels = 6;
1086
+ */
1087
+ labels?: {
1088
+ [key: string]: string;
1089
+ };
1090
+ };
1091
+ /**
1092
+ * Describes the message toshi.workspace.v1.ListSandboxesRequest.
1093
+ * Use `create(ListSandboxesRequestSchema)` to create a new message.
1094
+ */
1095
+ export declare const ListSandboxesRequestSchema: GenMessage<ListSandboxesRequest, {
1096
+ jsonType: ListSandboxesRequestJson;
1097
+ }>;
1098
+ /**
1099
+ * @generated from message toshi.workspace.v1.ListSandboxesResponse
1100
+ */
1101
+ export type ListSandboxesResponse = Message<"toshi.workspace.v1.ListSandboxesResponse"> & {
1102
+ /**
1103
+ * @generated from field: repeated toshi.workspace.v1.Sandbox sandboxes = 1;
1104
+ */
1105
+ sandboxes: Sandbox[];
1106
+ /**
1107
+ * Empty on the last page.
1108
+ *
1109
+ * @generated from field: string next_page_token = 2;
1110
+ */
1111
+ nextPageToken: string;
1112
+ /**
1113
+ * The event log's position when the first page was read; every page of
1114
+ * the list returns it. WatchSandboxes from this cursor shows every
1115
+ * change after the list.
1116
+ *
1117
+ * @generated from field: string cursor = 3;
1118
+ */
1119
+ cursor: string;
1120
+ };
1121
+ /**
1122
+ * @generated from message toshi.workspace.v1.ListSandboxesResponse
1123
+ */
1124
+ export type ListSandboxesResponseJson = {
1125
+ /**
1126
+ * @generated from field: repeated toshi.workspace.v1.Sandbox sandboxes = 1;
1127
+ */
1128
+ sandboxes?: SandboxJson[];
1129
+ /**
1130
+ * Empty on the last page.
1131
+ *
1132
+ * @generated from field: string next_page_token = 2;
1133
+ */
1134
+ nextPageToken?: string;
1135
+ /**
1136
+ * The event log's position when the first page was read; every page of
1137
+ * the list returns it. WatchSandboxes from this cursor shows every
1138
+ * change after the list.
1139
+ *
1140
+ * @generated from field: string cursor = 3;
1141
+ */
1142
+ cursor?: string;
1143
+ };
1144
+ /**
1145
+ * Describes the message toshi.workspace.v1.ListSandboxesResponse.
1146
+ * Use `create(ListSandboxesResponseSchema)` to create a new message.
1147
+ */
1148
+ export declare const ListSandboxesResponseSchema: GenMessage<ListSandboxesResponse, {
1149
+ jsonType: ListSandboxesResponseJson;
1150
+ }>;
1151
+ /**
1152
+ * @generated from message toshi.workspace.v1.UpdateSandboxRequest
1153
+ */
1154
+ export type UpdateSandboxRequest = Message<"toshi.workspace.v1.UpdateSandboxRequest"> & {
1155
+ /**
1156
+ * @generated from field: string project = 1;
1157
+ */
1158
+ project: string;
1159
+ /**
1160
+ * @generated from field: string environment = 2;
1161
+ */
1162
+ environment: string;
1163
+ /**
1164
+ * @generated from field: string id = 3;
1165
+ */
1166
+ id: string;
1167
+ /**
1168
+ * Carries the new values of the fields update_mask names.
1169
+ *
1170
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 4;
1171
+ */
1172
+ sandbox?: Sandbox | undefined;
1173
+ /**
1174
+ * @generated from field: google.protobuf.FieldMask update_mask = 5;
1175
+ */
1176
+ updateMask?: FieldMask | undefined;
1177
+ /**
1178
+ * @generated from field: string request_key = 6;
1179
+ */
1180
+ requestKey: string;
1181
+ };
1182
+ /**
1183
+ * @generated from message toshi.workspace.v1.UpdateSandboxRequest
1184
+ */
1185
+ export type UpdateSandboxRequestJson = {
1186
+ /**
1187
+ * @generated from field: string project = 1;
1188
+ */
1189
+ project?: string;
1190
+ /**
1191
+ * @generated from field: string environment = 2;
1192
+ */
1193
+ environment?: string;
1194
+ /**
1195
+ * @generated from field: string id = 3;
1196
+ */
1197
+ id?: string;
1198
+ /**
1199
+ * Carries the new values of the fields update_mask names.
1200
+ *
1201
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 4;
1202
+ */
1203
+ sandbox?: SandboxJson;
1204
+ /**
1205
+ * @generated from field: google.protobuf.FieldMask update_mask = 5;
1206
+ */
1207
+ updateMask?: FieldMaskJson;
1208
+ /**
1209
+ * @generated from field: string request_key = 6;
1210
+ */
1211
+ requestKey?: string;
1212
+ };
1213
+ /**
1214
+ * Describes the message toshi.workspace.v1.UpdateSandboxRequest.
1215
+ * Use `create(UpdateSandboxRequestSchema)` to create a new message.
1216
+ */
1217
+ export declare const UpdateSandboxRequestSchema: GenMessage<UpdateSandboxRequest, {
1218
+ jsonType: UpdateSandboxRequestJson;
1219
+ }>;
1220
+ /**
1221
+ * @generated from message toshi.workspace.v1.UpdateSandboxResponse
1222
+ */
1223
+ export type UpdateSandboxResponse = Message<"toshi.workspace.v1.UpdateSandboxResponse"> & {
1224
+ /**
1225
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
1226
+ */
1227
+ sandbox?: Sandbox | undefined;
1228
+ /**
1229
+ * Set when the mask names "spec.max_duration": completes successfully
1230
+ * when the sandbox's host acknowledges the new limit in time.
1231
+ *
1232
+ * @generated from field: toshi.workspace.v1.Operation operation = 2;
1233
+ */
1234
+ operation?: Operation | undefined;
1235
+ };
1236
+ /**
1237
+ * @generated from message toshi.workspace.v1.UpdateSandboxResponse
1238
+ */
1239
+ export type UpdateSandboxResponseJson = {
1240
+ /**
1241
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
1242
+ */
1243
+ sandbox?: SandboxJson;
1244
+ /**
1245
+ * Set when the mask names "spec.max_duration": completes successfully
1246
+ * when the sandbox's host acknowledges the new limit in time.
1247
+ *
1248
+ * @generated from field: toshi.workspace.v1.Operation operation = 2;
1249
+ */
1250
+ operation?: OperationJson;
1251
+ };
1252
+ /**
1253
+ * Describes the message toshi.workspace.v1.UpdateSandboxResponse.
1254
+ * Use `create(UpdateSandboxResponseSchema)` to create a new message.
1255
+ */
1256
+ export declare const UpdateSandboxResponseSchema: GenMessage<UpdateSandboxResponse, {
1257
+ jsonType: UpdateSandboxResponseJson;
1258
+ }>;
1259
+ /**
1260
+ * @generated from message toshi.workspace.v1.DeleteSandboxRequest
1261
+ */
1262
+ export type DeleteSandboxRequest = Message<"toshi.workspace.v1.DeleteSandboxRequest"> & {
1263
+ /**
1264
+ * @generated from field: string project = 1;
1265
+ */
1266
+ project: string;
1267
+ /**
1268
+ * @generated from field: string environment = 2;
1269
+ */
1270
+ environment: string;
1271
+ /**
1272
+ * @generated from field: string id = 3;
1273
+ */
1274
+ id: string;
1275
+ /**
1276
+ * @generated from field: string request_key = 4;
1277
+ */
1278
+ requestKey: string;
1279
+ };
1280
+ /**
1281
+ * @generated from message toshi.workspace.v1.DeleteSandboxRequest
1282
+ */
1283
+ export type DeleteSandboxRequestJson = {
1284
+ /**
1285
+ * @generated from field: string project = 1;
1286
+ */
1287
+ project?: string;
1288
+ /**
1289
+ * @generated from field: string environment = 2;
1290
+ */
1291
+ environment?: string;
1292
+ /**
1293
+ * @generated from field: string id = 3;
1294
+ */
1295
+ id?: string;
1296
+ /**
1297
+ * @generated from field: string request_key = 4;
1298
+ */
1299
+ requestKey?: string;
1300
+ };
1301
+ /**
1302
+ * Describes the message toshi.workspace.v1.DeleteSandboxRequest.
1303
+ * Use `create(DeleteSandboxRequestSchema)` to create a new message.
1304
+ */
1305
+ export declare const DeleteSandboxRequestSchema: GenMessage<DeleteSandboxRequest, {
1306
+ jsonType: DeleteSandboxRequestJson;
1307
+ }>;
1308
+ /**
1309
+ * @generated from message toshi.workspace.v1.DeleteSandboxResponse
1310
+ */
1311
+ export type DeleteSandboxResponse = Message<"toshi.workspace.v1.DeleteSandboxResponse"> & {
1312
+ /**
1313
+ * @generated from field: toshi.workspace.v1.Operation operation = 1;
1314
+ */
1315
+ operation?: Operation | undefined;
1316
+ };
1317
+ /**
1318
+ * @generated from message toshi.workspace.v1.DeleteSandboxResponse
1319
+ */
1320
+ export type DeleteSandboxResponseJson = {
1321
+ /**
1322
+ * @generated from field: toshi.workspace.v1.Operation operation = 1;
1323
+ */
1324
+ operation?: OperationJson;
1325
+ };
1326
+ /**
1327
+ * Describes the message toshi.workspace.v1.DeleteSandboxResponse.
1328
+ * Use `create(DeleteSandboxResponseSchema)` to create a new message.
1329
+ */
1330
+ export declare const DeleteSandboxResponseSchema: GenMessage<DeleteSandboxResponse, {
1331
+ jsonType: DeleteSandboxResponseJson;
1332
+ }>;
1333
+ /**
1334
+ * @generated from message toshi.workspace.v1.WaitSandboxRequest
1335
+ */
1336
+ export type WaitSandboxRequest = Message<"toshi.workspace.v1.WaitSandboxRequest"> & {
1337
+ /**
1338
+ * @generated from field: string project = 1;
1339
+ */
1340
+ project: string;
1341
+ /**
1342
+ * @generated from field: string environment = 2;
1343
+ */
1344
+ environment: string;
1345
+ /**
1346
+ * @generated from field: string id = 3;
1347
+ */
1348
+ id: string;
1349
+ /**
1350
+ * Return once the sandbox is in any of these states; empty means ENDED.
1351
+ *
1352
+ * @generated from field: repeated toshi.workspace.v1.SandboxState states = 4;
1353
+ */
1354
+ states: SandboxState[];
1355
+ /**
1356
+ * The longest to block.
1357
+ *
1358
+ * @generated from field: google.protobuf.Duration timeout = 5;
1359
+ */
1360
+ timeout?: Duration | undefined;
1361
+ };
1362
+ /**
1363
+ * @generated from message toshi.workspace.v1.WaitSandboxRequest
1364
+ */
1365
+ export type WaitSandboxRequestJson = {
1366
+ /**
1367
+ * @generated from field: string project = 1;
1368
+ */
1369
+ project?: string;
1370
+ /**
1371
+ * @generated from field: string environment = 2;
1372
+ */
1373
+ environment?: string;
1374
+ /**
1375
+ * @generated from field: string id = 3;
1376
+ */
1377
+ id?: string;
1378
+ /**
1379
+ * Return once the sandbox is in any of these states; empty means ENDED.
1380
+ *
1381
+ * @generated from field: repeated toshi.workspace.v1.SandboxState states = 4;
1382
+ */
1383
+ states?: SandboxStateJson[];
1384
+ /**
1385
+ * The longest to block.
1386
+ *
1387
+ * @generated from field: google.protobuf.Duration timeout = 5;
1388
+ */
1389
+ timeout?: DurationJson;
1390
+ };
1391
+ /**
1392
+ * Describes the message toshi.workspace.v1.WaitSandboxRequest.
1393
+ * Use `create(WaitSandboxRequestSchema)` to create a new message.
1394
+ */
1395
+ export declare const WaitSandboxRequestSchema: GenMessage<WaitSandboxRequest, {
1396
+ jsonType: WaitSandboxRequestJson;
1397
+ }>;
1398
+ /**
1399
+ * @generated from message toshi.workspace.v1.WaitSandboxResponse
1400
+ */
1401
+ export type WaitSandboxResponse = Message<"toshi.workspace.v1.WaitSandboxResponse"> & {
1402
+ /**
1403
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
1404
+ */
1405
+ sandbox?: Sandbox | undefined;
1406
+ /**
1407
+ * False when the bound passed first.
1408
+ *
1409
+ * @generated from field: bool reached = 2;
1410
+ */
1411
+ reached: boolean;
1412
+ };
1413
+ /**
1414
+ * @generated from message toshi.workspace.v1.WaitSandboxResponse
1415
+ */
1416
+ export type WaitSandboxResponseJson = {
1417
+ /**
1418
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 1;
1419
+ */
1420
+ sandbox?: SandboxJson;
1421
+ /**
1422
+ * False when the bound passed first.
1423
+ *
1424
+ * @generated from field: bool reached = 2;
1425
+ */
1426
+ reached?: boolean;
1427
+ };
1428
+ /**
1429
+ * Describes the message toshi.workspace.v1.WaitSandboxResponse.
1430
+ * Use `create(WaitSandboxResponseSchema)` to create a new message.
1431
+ */
1432
+ export declare const WaitSandboxResponseSchema: GenMessage<WaitSandboxResponse, {
1433
+ jsonType: WaitSandboxResponseJson;
1434
+ }>;
1435
+ /**
1436
+ * @generated from message toshi.workspace.v1.WatchSandboxesRequest
1437
+ */
1438
+ export type WatchSandboxesRequest = Message<"toshi.workspace.v1.WatchSandboxesRequest"> & {
1439
+ /**
1440
+ * @generated from field: string project = 1;
1441
+ */
1442
+ project: string;
1443
+ /**
1444
+ * @generated from field: string environment = 2;
1445
+ */
1446
+ environment: string;
1447
+ /**
1448
+ * Changes after this position; empty starts at the oldest event the log
1449
+ * keeps. A cursor older than that event fails with OUT_OF_RANGE.
1450
+ *
1451
+ * @generated from field: string cursor = 3;
1452
+ */
1453
+ cursor: string;
1454
+ /**
1455
+ * Ask for keepalives, as WatchJobsRequest's keepalive does.
1456
+ *
1457
+ * @generated from field: bool keepalive = 4;
1458
+ */
1459
+ keepalive: boolean;
1460
+ };
1461
+ /**
1462
+ * @generated from message toshi.workspace.v1.WatchSandboxesRequest
1463
+ */
1464
+ export type WatchSandboxesRequestJson = {
1465
+ /**
1466
+ * @generated from field: string project = 1;
1467
+ */
1468
+ project?: string;
1469
+ /**
1470
+ * @generated from field: string environment = 2;
1471
+ */
1472
+ environment?: string;
1473
+ /**
1474
+ * Changes after this position; empty starts at the oldest event the log
1475
+ * keeps. A cursor older than that event fails with OUT_OF_RANGE.
1476
+ *
1477
+ * @generated from field: string cursor = 3;
1478
+ */
1479
+ cursor?: string;
1480
+ /**
1481
+ * Ask for keepalives, as WatchJobsRequest's keepalive does.
1482
+ *
1483
+ * @generated from field: bool keepalive = 4;
1484
+ */
1485
+ keepalive?: boolean;
1486
+ };
1487
+ /**
1488
+ * Describes the message toshi.workspace.v1.WatchSandboxesRequest.
1489
+ * Use `create(WatchSandboxesRequestSchema)` to create a new message.
1490
+ */
1491
+ export declare const WatchSandboxesRequestSchema: GenMessage<WatchSandboxesRequest, {
1492
+ jsonType: WatchSandboxesRequestJson;
1493
+ }>;
1494
+ /**
1495
+ * @generated from message toshi.workspace.v1.WatchSandboxesResponse
1496
+ */
1497
+ export type WatchSandboxesResponse = Message<"toshi.workspace.v1.WatchSandboxesResponse"> & {
1498
+ /**
1499
+ * The event that recorded the change.
1500
+ *
1501
+ * @generated from field: toshi.workspace.v1.EventType type = 1;
1502
+ */
1503
+ type: EventType;
1504
+ /**
1505
+ * The sandbox after the change.
1506
+ *
1507
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 2;
1508
+ */
1509
+ sandbox?: Sandbox | undefined;
1510
+ /**
1511
+ * Resume after this change.
1512
+ *
1513
+ * @generated from field: string cursor = 3;
1514
+ */
1515
+ cursor: string;
1516
+ /**
1517
+ * Set on a keepalive, with every other field empty. Only a request
1518
+ * with keepalive set gets one.
1519
+ *
1520
+ * @generated from field: toshi.workspace.v1.Keepalive keepalive = 4;
1521
+ */
1522
+ keepalive?: Keepalive | undefined;
1523
+ };
1524
+ /**
1525
+ * @generated from message toshi.workspace.v1.WatchSandboxesResponse
1526
+ */
1527
+ export type WatchSandboxesResponseJson = {
1528
+ /**
1529
+ * The event that recorded the change.
1530
+ *
1531
+ * @generated from field: toshi.workspace.v1.EventType type = 1;
1532
+ */
1533
+ type?: EventTypeJson;
1534
+ /**
1535
+ * The sandbox after the change.
1536
+ *
1537
+ * @generated from field: toshi.workspace.v1.Sandbox sandbox = 2;
1538
+ */
1539
+ sandbox?: SandboxJson;
1540
+ /**
1541
+ * Resume after this change.
1542
+ *
1543
+ * @generated from field: string cursor = 3;
1544
+ */
1545
+ cursor?: string;
1546
+ /**
1547
+ * Set on a keepalive, with every other field empty. Only a request
1548
+ * with keepalive set gets one.
1549
+ *
1550
+ * @generated from field: toshi.workspace.v1.Keepalive keepalive = 4;
1551
+ */
1552
+ keepalive?: KeepaliveJson;
1553
+ };
1554
+ /**
1555
+ * Describes the message toshi.workspace.v1.WatchSandboxesResponse.
1556
+ * Use `create(WatchSandboxesResponseSchema)` to create a new message.
1557
+ */
1558
+ export declare const WatchSandboxesResponseSchema: GenMessage<WatchSandboxesResponse, {
1559
+ jsonType: WatchSandboxesResponseJson;
1560
+ }>;
1561
+ /**
1562
+ * @generated from message toshi.workspace.v1.CreateServiceRequest
1563
+ */
1564
+ export type CreateServiceRequest = Message<"toshi.workspace.v1.CreateServiceRequest"> & {
1565
+ /**
1566
+ * @generated from field: string project = 1;
1567
+ */
1568
+ project: string;
1569
+ /**
1570
+ * @generated from field: string environment = 2;
1571
+ */
1572
+ environment: string;
1573
+ /**
1574
+ * @generated from field: toshi.workspace.v1.ServiceSpec spec = 3;
1575
+ */
1576
+ spec?: ServiceSpec | undefined;
1577
+ /**
1578
+ * @generated from field: map<string, string> labels = 4;
1579
+ */
1580
+ labels: {
1581
+ [key: string]: string;
1582
+ };
1583
+ /**
1584
+ * Required: the same key on every retry of this create.
1585
+ *
1586
+ * @generated from field: string request_key = 5;
1587
+ */
1588
+ requestKey: string;
1589
+ };
1590
+ /**
1591
+ * @generated from message toshi.workspace.v1.CreateServiceRequest
1592
+ */
1593
+ export type CreateServiceRequestJson = {
1594
+ /**
1595
+ * @generated from field: string project = 1;
1596
+ */
1597
+ project?: string;
1598
+ /**
1599
+ * @generated from field: string environment = 2;
1600
+ */
1601
+ environment?: string;
1602
+ /**
1603
+ * @generated from field: toshi.workspace.v1.ServiceSpec spec = 3;
1604
+ */
1605
+ spec?: ServiceSpecJson;
1606
+ /**
1607
+ * @generated from field: map<string, string> labels = 4;
1608
+ */
1609
+ labels?: {
1610
+ [key: string]: string;
1611
+ };
1612
+ /**
1613
+ * Required: the same key on every retry of this create.
1614
+ *
1615
+ * @generated from field: string request_key = 5;
1616
+ */
1617
+ requestKey?: string;
1618
+ };
1619
+ /**
1620
+ * Describes the message toshi.workspace.v1.CreateServiceRequest.
1621
+ * Use `create(CreateServiceRequestSchema)` to create a new message.
1622
+ */
1623
+ export declare const CreateServiceRequestSchema: GenMessage<CreateServiceRequest, {
1624
+ jsonType: CreateServiceRequestJson;
1625
+ }>;
1626
+ /**
1627
+ * @generated from message toshi.workspace.v1.CreateServiceResponse
1628
+ */
1629
+ export type CreateServiceResponse = Message<"toshi.workspace.v1.CreateServiceResponse"> & {
1630
+ /**
1631
+ * @generated from field: toshi.workspace.v1.Service service = 1;
1632
+ */
1633
+ service?: Service | undefined;
1634
+ };
1635
+ /**
1636
+ * @generated from message toshi.workspace.v1.CreateServiceResponse
1637
+ */
1638
+ export type CreateServiceResponseJson = {
1639
+ /**
1640
+ * @generated from field: toshi.workspace.v1.Service service = 1;
1641
+ */
1642
+ service?: ServiceJson;
1643
+ };
1644
+ /**
1645
+ * Describes the message toshi.workspace.v1.CreateServiceResponse.
1646
+ * Use `create(CreateServiceResponseSchema)` to create a new message.
1647
+ */
1648
+ export declare const CreateServiceResponseSchema: GenMessage<CreateServiceResponse, {
1649
+ jsonType: CreateServiceResponseJson;
1650
+ }>;
1651
+ /**
1652
+ * @generated from message toshi.workspace.v1.GetServiceRequest
1653
+ */
1654
+ export type GetServiceRequest = Message<"toshi.workspace.v1.GetServiceRequest"> & {
1655
+ /**
1656
+ * @generated from field: string project = 1;
1657
+ */
1658
+ project: string;
1659
+ /**
1660
+ * @generated from field: string environment = 2;
1661
+ */
1662
+ environment: string;
1663
+ /**
1664
+ * @generated from field: string id = 3;
1665
+ */
1666
+ id: string;
1667
+ };
1668
+ /**
1669
+ * @generated from message toshi.workspace.v1.GetServiceRequest
1670
+ */
1671
+ export type GetServiceRequestJson = {
1672
+ /**
1673
+ * @generated from field: string project = 1;
1674
+ */
1675
+ project?: string;
1676
+ /**
1677
+ * @generated from field: string environment = 2;
1678
+ */
1679
+ environment?: string;
1680
+ /**
1681
+ * @generated from field: string id = 3;
1682
+ */
1683
+ id?: string;
1684
+ };
1685
+ /**
1686
+ * Describes the message toshi.workspace.v1.GetServiceRequest.
1687
+ * Use `create(GetServiceRequestSchema)` to create a new message.
1688
+ */
1689
+ export declare const GetServiceRequestSchema: GenMessage<GetServiceRequest, {
1690
+ jsonType: GetServiceRequestJson;
1691
+ }>;
1692
+ /**
1693
+ * @generated from message toshi.workspace.v1.GetServiceResponse
1694
+ */
1695
+ export type GetServiceResponse = Message<"toshi.workspace.v1.GetServiceResponse"> & {
1696
+ /**
1697
+ * @generated from field: toshi.workspace.v1.Service service = 1;
1698
+ */
1699
+ service?: Service | undefined;
1700
+ /**
1701
+ * The service's bindings as they were fixed when its current run
1702
+ * started, in name order; empty before a run started.
1703
+ *
1704
+ * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
1705
+ */
1706
+ bound: BoundBinding[];
1707
+ };
1708
+ /**
1709
+ * @generated from message toshi.workspace.v1.GetServiceResponse
1710
+ */
1711
+ export type GetServiceResponseJson = {
1712
+ /**
1713
+ * @generated from field: toshi.workspace.v1.Service service = 1;
1714
+ */
1715
+ service?: ServiceJson;
1716
+ /**
1717
+ * The service's bindings as they were fixed when its current run
1718
+ * started, in name order; empty before a run started.
1719
+ *
1720
+ * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
1721
+ */
1722
+ bound?: BoundBindingJson[];
1723
+ };
1724
+ /**
1725
+ * Describes the message toshi.workspace.v1.GetServiceResponse.
1726
+ * Use `create(GetServiceResponseSchema)` to create a new message.
1727
+ */
1728
+ export declare const GetServiceResponseSchema: GenMessage<GetServiceResponse, {
1729
+ jsonType: GetServiceResponseJson;
1730
+ }>;
1731
+ /**
1732
+ * @generated from message toshi.workspace.v1.ListServicesRequest
1733
+ */
1734
+ export type ListServicesRequest = Message<"toshi.workspace.v1.ListServicesRequest"> & {
1735
+ /**
1736
+ * @generated from field: string project = 1;
1737
+ */
1738
+ project: string;
1739
+ /**
1740
+ * @generated from field: string environment = 2;
1741
+ */
1742
+ environment: string;
1743
+ /**
1744
+ * Empty matches every state.
1745
+ *
1746
+ * @generated from field: repeated toshi.workspace.v1.ServiceState states = 3;
1747
+ */
1748
+ states: ServiceState[];
1749
+ /**
1750
+ * The most services in one page; zero lets the server choose.
1751
+ *
1752
+ * @generated from field: int32 page_size = 4;
1753
+ */
1754
+ pageSize: number;
1755
+ /**
1756
+ * From an earlier response's next_page_token; empty for the first page.
1757
+ *
1758
+ * @generated from field: string page_token = 5;
1759
+ */
1760
+ pageToken: string;
1761
+ /**
1762
+ * Only the services that carry every one of these labels, each with
1763
+ * exactly this value, as ListJobsRequest's labels match.
1764
+ *
1765
+ * @generated from field: map<string, string> labels = 6;
1766
+ */
1767
+ labels: {
1768
+ [key: string]: string;
1769
+ };
1770
+ };
1771
+ /**
1772
+ * @generated from message toshi.workspace.v1.ListServicesRequest
1773
+ */
1774
+ export type ListServicesRequestJson = {
1775
+ /**
1776
+ * @generated from field: string project = 1;
1777
+ */
1778
+ project?: string;
1779
+ /**
1780
+ * @generated from field: string environment = 2;
1781
+ */
1782
+ environment?: string;
1783
+ /**
1784
+ * Empty matches every state.
1785
+ *
1786
+ * @generated from field: repeated toshi.workspace.v1.ServiceState states = 3;
1787
+ */
1788
+ states?: ServiceStateJson[];
1789
+ /**
1790
+ * The most services in one page; zero lets the server choose.
1791
+ *
1792
+ * @generated from field: int32 page_size = 4;
1793
+ */
1794
+ pageSize?: number;
1795
+ /**
1796
+ * From an earlier response's next_page_token; empty for the first page.
1797
+ *
1798
+ * @generated from field: string page_token = 5;
1799
+ */
1800
+ pageToken?: string;
1801
+ /**
1802
+ * Only the services that carry every one of these labels, each with
1803
+ * exactly this value, as ListJobsRequest's labels match.
1804
+ *
1805
+ * @generated from field: map<string, string> labels = 6;
1806
+ */
1807
+ labels?: {
1808
+ [key: string]: string;
1809
+ };
1810
+ };
1811
+ /**
1812
+ * Describes the message toshi.workspace.v1.ListServicesRequest.
1813
+ * Use `create(ListServicesRequestSchema)` to create a new message.
1814
+ */
1815
+ export declare const ListServicesRequestSchema: GenMessage<ListServicesRequest, {
1816
+ jsonType: ListServicesRequestJson;
1817
+ }>;
1818
+ /**
1819
+ * @generated from message toshi.workspace.v1.ListServicesResponse
1820
+ */
1821
+ export type ListServicesResponse = Message<"toshi.workspace.v1.ListServicesResponse"> & {
1822
+ /**
1823
+ * @generated from field: repeated toshi.workspace.v1.Service services = 1;
1824
+ */
1825
+ services: Service[];
1826
+ /**
1827
+ * Empty on the last page.
1828
+ *
1829
+ * @generated from field: string next_page_token = 2;
1830
+ */
1831
+ nextPageToken: string;
1832
+ /**
1833
+ * The event log's position when the first page was read; every page of
1834
+ * the list returns it. WatchServices from this cursor shows every
1835
+ * change after the list.
1836
+ *
1837
+ * @generated from field: string cursor = 3;
1838
+ */
1839
+ cursor: string;
1840
+ };
1841
+ /**
1842
+ * @generated from message toshi.workspace.v1.ListServicesResponse
1843
+ */
1844
+ export type ListServicesResponseJson = {
1845
+ /**
1846
+ * @generated from field: repeated toshi.workspace.v1.Service services = 1;
1847
+ */
1848
+ services?: ServiceJson[];
1849
+ /**
1850
+ * Empty on the last page.
1851
+ *
1852
+ * @generated from field: string next_page_token = 2;
1853
+ */
1854
+ nextPageToken?: string;
1855
+ /**
1856
+ * The event log's position when the first page was read; every page of
1857
+ * the list returns it. WatchServices from this cursor shows every
1858
+ * change after the list.
1859
+ *
1860
+ * @generated from field: string cursor = 3;
1861
+ */
1862
+ cursor?: string;
1863
+ };
1864
+ /**
1865
+ * Describes the message toshi.workspace.v1.ListServicesResponse.
1866
+ * Use `create(ListServicesResponseSchema)` to create a new message.
1867
+ */
1868
+ export declare const ListServicesResponseSchema: GenMessage<ListServicesResponse, {
1869
+ jsonType: ListServicesResponseJson;
1870
+ }>;
1871
+ /**
1872
+ * @generated from message toshi.workspace.v1.UpdateServiceRequest
1873
+ */
1874
+ export type UpdateServiceRequest = Message<"toshi.workspace.v1.UpdateServiceRequest"> & {
1875
+ /**
1876
+ * @generated from field: string project = 1;
1877
+ */
1878
+ project: string;
1879
+ /**
1880
+ * @generated from field: string environment = 2;
1881
+ */
1882
+ environment: string;
1883
+ /**
1884
+ * @generated from field: string id = 3;
1885
+ */
1886
+ id: string;
1887
+ /**
1888
+ * Carries the new values of the fields update_mask names.
1889
+ *
1890
+ * @generated from field: toshi.workspace.v1.Service service = 4;
1891
+ */
1892
+ service?: Service | undefined;
1893
+ /**
1894
+ * @generated from field: google.protobuf.FieldMask update_mask = 5;
1895
+ */
1896
+ updateMask?: FieldMask | undefined;
1897
+ /**
1898
+ * @generated from field: string request_key = 6;
1899
+ */
1900
+ requestKey: string;
1901
+ };
1902
+ /**
1903
+ * @generated from message toshi.workspace.v1.UpdateServiceRequest
1904
+ */
1905
+ export type UpdateServiceRequestJson = {
1906
+ /**
1907
+ * @generated from field: string project = 1;
1908
+ */
1909
+ project?: string;
1910
+ /**
1911
+ * @generated from field: string environment = 2;
1912
+ */
1913
+ environment?: string;
1914
+ /**
1915
+ * @generated from field: string id = 3;
1916
+ */
1917
+ id?: string;
1918
+ /**
1919
+ * Carries the new values of the fields update_mask names.
1920
+ *
1921
+ * @generated from field: toshi.workspace.v1.Service service = 4;
1922
+ */
1923
+ service?: ServiceJson;
1924
+ /**
1925
+ * @generated from field: google.protobuf.FieldMask update_mask = 5;
1926
+ */
1927
+ updateMask?: FieldMaskJson;
1928
+ /**
1929
+ * @generated from field: string request_key = 6;
1930
+ */
1931
+ requestKey?: string;
1932
+ };
1933
+ /**
1934
+ * Describes the message toshi.workspace.v1.UpdateServiceRequest.
1935
+ * Use `create(UpdateServiceRequestSchema)` to create a new message.
1936
+ */
1937
+ export declare const UpdateServiceRequestSchema: GenMessage<UpdateServiceRequest, {
1938
+ jsonType: UpdateServiceRequestJson;
1939
+ }>;
1940
+ /**
1941
+ * @generated from message toshi.workspace.v1.UpdateServiceResponse
1942
+ */
1943
+ export type UpdateServiceResponse = Message<"toshi.workspace.v1.UpdateServiceResponse"> & {
1944
+ /**
1945
+ * @generated from field: toshi.workspace.v1.Service service = 1;
1946
+ */
1947
+ service?: Service | undefined;
1948
+ };
1949
+ /**
1950
+ * @generated from message toshi.workspace.v1.UpdateServiceResponse
1951
+ */
1952
+ export type UpdateServiceResponseJson = {
1953
+ /**
1954
+ * @generated from field: toshi.workspace.v1.Service service = 1;
1955
+ */
1956
+ service?: ServiceJson;
1957
+ };
1958
+ /**
1959
+ * Describes the message toshi.workspace.v1.UpdateServiceResponse.
1960
+ * Use `create(UpdateServiceResponseSchema)` to create a new message.
1961
+ */
1962
+ export declare const UpdateServiceResponseSchema: GenMessage<UpdateServiceResponse, {
1963
+ jsonType: UpdateServiceResponseJson;
1964
+ }>;
1965
+ /**
1966
+ * @generated from message toshi.workspace.v1.DeleteServiceRequest
1967
+ */
1968
+ export type DeleteServiceRequest = Message<"toshi.workspace.v1.DeleteServiceRequest"> & {
1969
+ /**
1970
+ * @generated from field: string project = 1;
1971
+ */
1972
+ project: string;
1973
+ /**
1974
+ * @generated from field: string environment = 2;
1975
+ */
1976
+ environment: string;
1977
+ /**
1978
+ * @generated from field: string id = 3;
1979
+ */
1980
+ id: string;
1981
+ /**
1982
+ * @generated from field: string request_key = 4;
1983
+ */
1984
+ requestKey: string;
1985
+ };
1986
+ /**
1987
+ * @generated from message toshi.workspace.v1.DeleteServiceRequest
1988
+ */
1989
+ export type DeleteServiceRequestJson = {
1990
+ /**
1991
+ * @generated from field: string project = 1;
1992
+ */
1993
+ project?: string;
1994
+ /**
1995
+ * @generated from field: string environment = 2;
1996
+ */
1997
+ environment?: string;
1998
+ /**
1999
+ * @generated from field: string id = 3;
2000
+ */
2001
+ id?: string;
2002
+ /**
2003
+ * @generated from field: string request_key = 4;
2004
+ */
2005
+ requestKey?: string;
2006
+ };
2007
+ /**
2008
+ * Describes the message toshi.workspace.v1.DeleteServiceRequest.
2009
+ * Use `create(DeleteServiceRequestSchema)` to create a new message.
2010
+ */
2011
+ export declare const DeleteServiceRequestSchema: GenMessage<DeleteServiceRequest, {
2012
+ jsonType: DeleteServiceRequestJson;
2013
+ }>;
2014
+ /**
2015
+ * @generated from message toshi.workspace.v1.DeleteServiceResponse
2016
+ */
2017
+ export type DeleteServiceResponse = Message<"toshi.workspace.v1.DeleteServiceResponse"> & {
2018
+ /**
2019
+ * @generated from field: toshi.workspace.v1.Operation operation = 1;
2020
+ */
2021
+ operation?: Operation | undefined;
2022
+ };
2023
+ /**
2024
+ * @generated from message toshi.workspace.v1.DeleteServiceResponse
2025
+ */
2026
+ export type DeleteServiceResponseJson = {
2027
+ /**
2028
+ * @generated from field: toshi.workspace.v1.Operation operation = 1;
2029
+ */
2030
+ operation?: OperationJson;
2031
+ };
2032
+ /**
2033
+ * Describes the message toshi.workspace.v1.DeleteServiceResponse.
2034
+ * Use `create(DeleteServiceResponseSchema)` to create a new message.
2035
+ */
2036
+ export declare const DeleteServiceResponseSchema: GenMessage<DeleteServiceResponse, {
2037
+ jsonType: DeleteServiceResponseJson;
2038
+ }>;
2039
+ /**
2040
+ * @generated from message toshi.workspace.v1.WaitServiceRequest
2041
+ */
2042
+ export type WaitServiceRequest = Message<"toshi.workspace.v1.WaitServiceRequest"> & {
2043
+ /**
2044
+ * @generated from field: string project = 1;
2045
+ */
2046
+ project: string;
2047
+ /**
2048
+ * @generated from field: string environment = 2;
2049
+ */
2050
+ environment: string;
2051
+ /**
2052
+ * @generated from field: string id = 3;
2053
+ */
2054
+ id: string;
2055
+ /**
2056
+ * Return once the service is in any of these states; empty means ENDED.
2057
+ *
2058
+ * @generated from field: repeated toshi.workspace.v1.ServiceState states = 4;
2059
+ */
2060
+ states: ServiceState[];
2061
+ /**
2062
+ * The longest to block.
2063
+ *
2064
+ * @generated from field: google.protobuf.Duration timeout = 5;
2065
+ */
2066
+ timeout?: Duration | undefined;
2067
+ };
2068
+ /**
2069
+ * @generated from message toshi.workspace.v1.WaitServiceRequest
2070
+ */
2071
+ export type WaitServiceRequestJson = {
2072
+ /**
2073
+ * @generated from field: string project = 1;
2074
+ */
2075
+ project?: string;
2076
+ /**
2077
+ * @generated from field: string environment = 2;
2078
+ */
2079
+ environment?: string;
2080
+ /**
2081
+ * @generated from field: string id = 3;
2082
+ */
2083
+ id?: string;
2084
+ /**
2085
+ * Return once the service is in any of these states; empty means ENDED.
2086
+ *
2087
+ * @generated from field: repeated toshi.workspace.v1.ServiceState states = 4;
2088
+ */
2089
+ states?: ServiceStateJson[];
2090
+ /**
2091
+ * The longest to block.
2092
+ *
2093
+ * @generated from field: google.protobuf.Duration timeout = 5;
2094
+ */
2095
+ timeout?: DurationJson;
2096
+ };
2097
+ /**
2098
+ * Describes the message toshi.workspace.v1.WaitServiceRequest.
2099
+ * Use `create(WaitServiceRequestSchema)` to create a new message.
2100
+ */
2101
+ export declare const WaitServiceRequestSchema: GenMessage<WaitServiceRequest, {
2102
+ jsonType: WaitServiceRequestJson;
2103
+ }>;
2104
+ /**
2105
+ * @generated from message toshi.workspace.v1.WaitServiceResponse
2106
+ */
2107
+ export type WaitServiceResponse = Message<"toshi.workspace.v1.WaitServiceResponse"> & {
2108
+ /**
2109
+ * @generated from field: toshi.workspace.v1.Service service = 1;
2110
+ */
2111
+ service?: Service | undefined;
2112
+ /**
2113
+ * False when the bound passed first.
2114
+ *
2115
+ * @generated from field: bool reached = 2;
2116
+ */
2117
+ reached: boolean;
2118
+ };
2119
+ /**
2120
+ * @generated from message toshi.workspace.v1.WaitServiceResponse
2121
+ */
2122
+ export type WaitServiceResponseJson = {
2123
+ /**
2124
+ * @generated from field: toshi.workspace.v1.Service service = 1;
2125
+ */
2126
+ service?: ServiceJson;
2127
+ /**
2128
+ * False when the bound passed first.
2129
+ *
2130
+ * @generated from field: bool reached = 2;
2131
+ */
2132
+ reached?: boolean;
2133
+ };
2134
+ /**
2135
+ * Describes the message toshi.workspace.v1.WaitServiceResponse.
2136
+ * Use `create(WaitServiceResponseSchema)` to create a new message.
2137
+ */
2138
+ export declare const WaitServiceResponseSchema: GenMessage<WaitServiceResponse, {
2139
+ jsonType: WaitServiceResponseJson;
2140
+ }>;
2141
+ /**
2142
+ * @generated from message toshi.workspace.v1.WatchServicesRequest
2143
+ */
2144
+ export type WatchServicesRequest = Message<"toshi.workspace.v1.WatchServicesRequest"> & {
2145
+ /**
2146
+ * @generated from field: string project = 1;
2147
+ */
2148
+ project: string;
2149
+ /**
2150
+ * @generated from field: string environment = 2;
2151
+ */
2152
+ environment: string;
2153
+ /**
2154
+ * Changes after this position; empty starts at the oldest event the log
2155
+ * keeps. A cursor older than that event fails with OUT_OF_RANGE.
2156
+ *
2157
+ * @generated from field: string cursor = 3;
2158
+ */
2159
+ cursor: string;
2160
+ /**
2161
+ * Ask for keepalives, as WatchJobsRequest's keepalive does.
2162
+ *
2163
+ * @generated from field: bool keepalive = 4;
2164
+ */
2165
+ keepalive: boolean;
2166
+ };
2167
+ /**
2168
+ * @generated from message toshi.workspace.v1.WatchServicesRequest
2169
+ */
2170
+ export type WatchServicesRequestJson = {
2171
+ /**
2172
+ * @generated from field: string project = 1;
2173
+ */
2174
+ project?: string;
2175
+ /**
2176
+ * @generated from field: string environment = 2;
2177
+ */
2178
+ environment?: string;
2179
+ /**
2180
+ * Changes after this position; empty starts at the oldest event the log
2181
+ * keeps. A cursor older than that event fails with OUT_OF_RANGE.
2182
+ *
2183
+ * @generated from field: string cursor = 3;
2184
+ */
2185
+ cursor?: string;
2186
+ /**
2187
+ * Ask for keepalives, as WatchJobsRequest's keepalive does.
2188
+ *
2189
+ * @generated from field: bool keepalive = 4;
2190
+ */
2191
+ keepalive?: boolean;
2192
+ };
2193
+ /**
2194
+ * Describes the message toshi.workspace.v1.WatchServicesRequest.
2195
+ * Use `create(WatchServicesRequestSchema)` to create a new message.
2196
+ */
2197
+ export declare const WatchServicesRequestSchema: GenMessage<WatchServicesRequest, {
2198
+ jsonType: WatchServicesRequestJson;
2199
+ }>;
2200
+ /**
2201
+ * @generated from message toshi.workspace.v1.WatchServicesResponse
2202
+ */
2203
+ export type WatchServicesResponse = Message<"toshi.workspace.v1.WatchServicesResponse"> & {
2204
+ /**
2205
+ * The event that recorded the change.
2206
+ *
2207
+ * @generated from field: toshi.workspace.v1.EventType type = 1;
2208
+ */
2209
+ type: EventType;
2210
+ /**
2211
+ * The service after the change.
2212
+ *
2213
+ * @generated from field: toshi.workspace.v1.Service service = 2;
2214
+ */
2215
+ service?: Service | undefined;
2216
+ /**
2217
+ * Resume after this change.
2218
+ *
2219
+ * @generated from field: string cursor = 3;
2220
+ */
2221
+ cursor: string;
2222
+ /**
2223
+ * Set on a keepalive, with every other field empty. Only a request
2224
+ * with keepalive set gets one.
2225
+ *
2226
+ * @generated from field: toshi.workspace.v1.Keepalive keepalive = 4;
2227
+ */
2228
+ keepalive?: Keepalive | undefined;
2229
+ };
2230
+ /**
2231
+ * @generated from message toshi.workspace.v1.WatchServicesResponse
2232
+ */
2233
+ export type WatchServicesResponseJson = {
2234
+ /**
2235
+ * The event that recorded the change.
2236
+ *
2237
+ * @generated from field: toshi.workspace.v1.EventType type = 1;
2238
+ */
2239
+ type?: EventTypeJson;
2240
+ /**
2241
+ * The service after the change.
2242
+ *
2243
+ * @generated from field: toshi.workspace.v1.Service service = 2;
2244
+ */
2245
+ service?: ServiceJson;
2246
+ /**
2247
+ * Resume after this change.
2248
+ *
2249
+ * @generated from field: string cursor = 3;
2250
+ */
2251
+ cursor?: string;
2252
+ /**
2253
+ * Set on a keepalive, with every other field empty. Only a request
2254
+ * with keepalive set gets one.
2255
+ *
2256
+ * @generated from field: toshi.workspace.v1.Keepalive keepalive = 4;
2257
+ */
2258
+ keepalive?: KeepaliveJson;
2259
+ };
2260
+ /**
2261
+ * Describes the message toshi.workspace.v1.WatchServicesResponse.
2262
+ * Use `create(WatchServicesResponseSchema)` to create a new message.
2263
+ */
2264
+ export declare const WatchServicesResponseSchema: GenMessage<WatchServicesResponse, {
2265
+ jsonType: WatchServicesResponseJson;
2266
+ }>;
2267
+ /**
2268
+ * WorkloadService holds the Workspace API's three resources, Job, Sandbox
2269
+ * and Service, and the events and operations that span them. The three
2270
+ * share one state model, one event log and one id space: an id names a job,
2271
+ * a sandbox or a service, and a call of one type given the id of another
2272
+ * fails with NOT_FOUND.
2273
+ *
2274
+ * The caller's credential names the workspace; every request names the
2275
+ * project and the environment in its project and environment fields, and a
2276
+ * call that leaves either empty fails with INVALID_ARGUMENT. The environment
2277
+ * is one of the project's environments; a project or environment the
2278
+ * workspace does not have is NOT_FOUND. A job, sandbox, service, execution,
2279
+ * operation or event of another project or environment is NOT_FOUND.
2280
+ *
2281
+ * Every mutating call takes a request_key. A key is bound to the workspace,
2282
+ * the call and the request's payload: a retry with the same key and the same
2283
+ * payload returns what the first call returned and starts nothing new; the
2284
+ * same key with a different payload fails with FAILED_PRECONDITION. A create
2285
+ * requires a key: a create without one fails with INVALID_ARGUMENT. For the
2286
+ * other calls an empty key means no retry protection. CancelJob takes none:
2287
+ * a repeat of it changes nothing.
2288
+ *
2289
+ * A caller over its rate limit gets RESOURCE_EXHAUSTED with a
2290
+ * google.rpc.RetryInfo detail: the delay before a retry, on every protocol.
2291
+ * The same whole seconds are in a Retry-After response header on Connect and
2292
+ * gRPC-Web calls and on gRPC streams, and in the trailing metadata of a gRPC
2293
+ * unary call.
2294
+ *
2295
+ * @generated from service toshi.workspace.v1.WorkloadService
2296
+ */
2297
+ export declare const WorkloadService: GenService<{
2298
+ /**
2299
+ * CreateJob creates a job and returns it. With wait_for_end set, the call
2300
+ * blocks until the job ends or the bound passes. If the job has ended when
2301
+ * the call answers, the answer carries its exit status and output without
2302
+ * a second read; otherwise it carries the job as it is and no output, and
2303
+ * no later call returns it.
2304
+ *
2305
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CreateJob
2306
+ */
2307
+ createJob: {
2308
+ methodKind: "unary";
2309
+ input: typeof CreateJobRequestSchema;
2310
+ output: typeof CreateJobResponseSchema;
2311
+ };
2312
+ /**
2313
+ * GetJob returns one job. An unknown ID fails with NOT_FOUND.
2314
+ *
2315
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetJob
2316
+ */
2317
+ getJob: {
2318
+ methodKind: "unary";
2319
+ input: typeof GetJobRequestSchema;
2320
+ output: typeof GetJobResponseSchema;
2321
+ };
2322
+ /**
2323
+ * ListJobs returns the jobs that match every filter that is set, oldest
2324
+ * first, a page at a time. A page token from one call stays valid while
2325
+ * jobs are created: a later page never repeats or skips a job of an
2326
+ * earlier one.
2327
+ *
2328
+ * A page holds 50 jobs when page_size is zero, and 500 at most.
2329
+ *
2330
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListJobs
2331
+ */
2332
+ listJobs: {
2333
+ methodKind: "unary";
2334
+ input: typeof ListJobsRequestSchema;
2335
+ output: typeof ListJobsResponseSchema;
2336
+ };
2337
+ /**
2338
+ * UpdateJob changes the fields the mask names and returns the job. Only
2339
+ * "labels" can be changed; another path fails with INVALID_ARGUMENT.
2340
+ *
2341
+ * @generated from rpc toshi.workspace.v1.WorkloadService.UpdateJob
2342
+ */
2343
+ updateJob: {
2344
+ methodKind: "unary";
2345
+ input: typeof UpdateJobRequestSchema;
2346
+ output: typeof UpdateJobResponseSchema;
2347
+ };
2348
+ /**
2349
+ * DeleteJob cancels a job that has not ended and then removes it; every
2350
+ * execution in it is cancelled. It returns an operation that is done once
2351
+ * the job is removed; GetJob then fails with NOT_FOUND, and the event log
2352
+ * keeps its events.
2353
+ *
2354
+ * @generated from rpc toshi.workspace.v1.WorkloadService.DeleteJob
2355
+ */
2356
+ deleteJob: {
2357
+ methodKind: "unary";
2358
+ input: typeof DeleteJobRequestSchema;
2359
+ output: typeof DeleteJobResponseSchema;
2360
+ };
2361
+ /**
2362
+ * CancelJob cancels a job that has not ended and returns it. The job is
2363
+ * kept: it ends with END_REASON_CANCELLED, and GetJob and ListJobs return
2364
+ * it. A job whose command has not started ends at once, and the answer
2365
+ * carries the end; a job whose command runs ends once its host has stopped
2366
+ * it, and WaitJob waits for that end. Every execution in the job is
2367
+ * cancelled. A call for a job that has ended changes nothing and returns
2368
+ * the job as it is. An unknown ID fails with NOT_FOUND.
2369
+ *
2370
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CancelJob
2371
+ */
2372
+ cancelJob: {
2373
+ methodKind: "unary";
2374
+ input: typeof CancelJobRequestSchema;
2375
+ output: typeof CancelJobResponseSchema;
2376
+ };
2377
+ /**
2378
+ * WaitJob blocks until the job is in one of the states asked for or the
2379
+ * bound passes, whichever is first, and returns the job as it then is.
2380
+ * Passing the bound is not an error: reached is false, and the caller asks
2381
+ * again. The server may wait less than the bound asked for.
2382
+ *
2383
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WaitJob
2384
+ */
2385
+ waitJob: {
2386
+ methodKind: "unary";
2387
+ input: typeof WaitJobRequestSchema;
2388
+ output: typeof WaitJobResponseSchema;
2389
+ };
2390
+ /**
2391
+ * WatchJobs streams each change to a job as the event log records it,
2392
+ * from the position after a cursor, then as changes happen. A cursor from
2393
+ * a list call, ListEvents or an earlier message resumes with no change
2394
+ * missed and none repeated, while the log still keeps the events after it;
2395
+ * an older cursor fails with OUT_OF_RANGE.
2396
+ *
2397
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WatchJobs
2398
+ */
2399
+ watchJobs: {
2400
+ methodKind: "server_streaming";
2401
+ input: typeof WatchJobsRequestSchema;
2402
+ output: typeof WatchJobsResponseSchema;
2403
+ };
2404
+ /**
2405
+ * WatchOutput streams a job's standard output and error while it runs:
2406
+ * the bytes the server holds from the offsets asked for, then each write
2407
+ * as it happens, and last how the job ended. A job that has not started
2408
+ * yet is waited for. The server holds the first 1 MiB of each stream, as
2409
+ * for CreateJob's output, and only while the job runs: a job whose output
2410
+ * this server no longer holds (it has ended) or never held (its command
2411
+ * runs on another server) fails with FAILED_PRECONDITION, and a job that
2412
+ * ends while the call is answered is followed to its end. A sandbox or
2413
+ * service fails with INVALID_ARGUMENT.
2414
+ * A reader never slows or cancels the job: each reads what the server
2415
+ * holds at its own pace.
2416
+ *
2417
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WatchOutput
2418
+ */
2419
+ watchOutput: {
2420
+ methodKind: "server_streaming";
2421
+ input: typeof WatchOutputRequestSchema;
2422
+ output: typeof WatchOutputResponseSchema;
2423
+ };
2424
+ /**
2425
+ * CreateSandbox creates a sandbox and returns it, queued: it runs once a
2426
+ * host takes it, and until it is deleted or its time limit passes.
2427
+ *
2428
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CreateSandbox
2429
+ */
2430
+ createSandbox: {
2431
+ methodKind: "unary";
2432
+ input: typeof CreateSandboxRequestSchema;
2433
+ output: typeof CreateSandboxResponseSchema;
2434
+ };
2435
+ /**
2436
+ * GetSandbox returns one sandbox. An unknown ID fails with NOT_FOUND.
2437
+ *
2438
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetSandbox
2439
+ */
2440
+ getSandbox: {
2441
+ methodKind: "unary";
2442
+ input: typeof GetSandboxRequestSchema;
2443
+ output: typeof GetSandboxResponseSchema;
2444
+ };
2445
+ /**
2446
+ * ListSandboxes returns the sandboxes that match every filter that is
2447
+ * set, oldest first, a page at a time, with the page tokens of ListJobs.
2448
+ *
2449
+ * A page holds 50 sandboxes when page_size is zero, and 500 at most.
2450
+ *
2451
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListSandboxes
2452
+ */
2453
+ listSandboxes: {
2454
+ methodKind: "unary";
2455
+ input: typeof ListSandboxesRequestSchema;
2456
+ output: typeof ListSandboxesResponseSchema;
2457
+ };
2458
+ /**
2459
+ * UpdateSandbox changes the fields the mask names and returns the sandbox.
2460
+ * "labels" can be changed on any sandbox. "spec.max_duration" raises a
2461
+ * running sandbox's limit and must be the only path: the new limit, in
2462
+ * whole minutes from the sandbox's start, above its current one and no
2463
+ * longer than the plan's sandbox cap. The response then carries an
2464
+ * operation, which completes successfully when the sandbox's host
2465
+ * acknowledges the new limit in time and the sandbox still runs with no
2466
+ * stop asked for; until then the sandbox shows the current one. The
2467
+ * operation fails with UNAVAILABLE when the host does not acknowledge the
2468
+ * limit in time, and with FAILED_PRECONDITION when the sandbox stops
2469
+ * first; the limit the control plane records is then unchanged. A host
2470
+ * that applied the new limit but whose acknowledgment was lost can keep
2471
+ * it until it takes the old limit back or the sandbox stops. A sandbox
2472
+ * that is not running, has a stop asked for, has no limit of its own or
2473
+ * has a raise pending, or whose host's agent cannot take a new limit,
2474
+ * fails with FAILED_PRECONDITION. Another path fails with
2475
+ * INVALID_ARGUMENT.
2476
+ *
2477
+ * @generated from rpc toshi.workspace.v1.WorkloadService.UpdateSandbox
2478
+ */
2479
+ updateSandbox: {
2480
+ methodKind: "unary";
2481
+ input: typeof UpdateSandboxRequestSchema;
2482
+ output: typeof UpdateSandboxResponseSchema;
2483
+ };
2484
+ /**
2485
+ * DeleteSandbox stops a sandbox that has not ended and then removes it;
2486
+ * every execution in it is cancelled. It returns an operation that is
2487
+ * done once the sandbox is removed; GetSandbox then fails with NOT_FOUND,
2488
+ * and the event log keeps its events.
2489
+ *
2490
+ * @generated from rpc toshi.workspace.v1.WorkloadService.DeleteSandbox
2491
+ */
2492
+ deleteSandbox: {
2493
+ methodKind: "unary";
2494
+ input: typeof DeleteSandboxRequestSchema;
2495
+ output: typeof DeleteSandboxResponseSchema;
2496
+ };
2497
+ /**
2498
+ * WaitSandbox blocks until the sandbox is in one of the states asked for
2499
+ * or the bound passes, as WaitJob does for a job.
2500
+ *
2501
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WaitSandbox
2502
+ */
2503
+ waitSandbox: {
2504
+ methodKind: "unary";
2505
+ input: typeof WaitSandboxRequestSchema;
2506
+ output: typeof WaitSandboxResponseSchema;
2507
+ };
2508
+ /**
2509
+ * WatchSandboxes streams each change to a sandbox as the event log
2510
+ * records it, from the position after a cursor, as WatchJobs does for
2511
+ * jobs.
2512
+ *
2513
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WatchSandboxes
2514
+ */
2515
+ watchSandboxes: {
2516
+ methodKind: "server_streaming";
2517
+ input: typeof WatchSandboxesRequestSchema;
2518
+ output: typeof WatchSandboxesResponseSchema;
2519
+ };
2520
+ /**
2521
+ * Execute starts a command in a running workload. The first request
2522
+ * carries the start message; later requests carry standard input. The
2523
+ * stream answers with the execution's ID, then its standard output and
2524
+ * error as they are written, and ends with its exit status. A workload
2525
+ * that is not running fails with FAILED_PRECONDITION. A server may cancel
2526
+ * an execution whose client stops reading its output.
2527
+ *
2528
+ * @generated from rpc toshi.workspace.v1.WorkloadService.Execute
2529
+ */
2530
+ execute: {
2531
+ methodKind: "bidi_streaming";
2532
+ input: typeof ExecuteRequestSchema;
2533
+ output: typeof ExecuteResponseSchema;
2534
+ };
2535
+ /**
2536
+ * CancelExecution stops an execution. Its Execute stream ends with an exit
2537
+ * that says it was cancelled. Cancelling an execution that has ended
2538
+ * changes nothing. It returns once the execution has ended, whether or not
2539
+ * the Execute stream's client still reads it.
2540
+ *
2541
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CancelExecution
2542
+ */
2543
+ cancelExecution: {
2544
+ methodKind: "unary";
2545
+ input: typeof CancelExecutionRequestSchema;
2546
+ output: typeof CancelExecutionResponseSchema;
2547
+ };
2548
+ /**
2549
+ * WatchTelemetry streams a sandbox's resource samples as its host reports
2550
+ * them, in cursor order: the samples kept after a cursor, then each one as
2551
+ * it is stored. Each sample stored takes the next cursor, also one timed
2552
+ * before a sample already sent. Last comes an end, once the sandbox has
2553
+ * ended and every sample still kept that was stored before it ended has
2554
+ * been sent. A host can report a sample after the end: a watch resumed
2555
+ * from the last cursor returns it, then ends again. A sandbox that has
2556
+ * not started yet is waited for. A job or service fails with
2557
+ * INVALID_ARGUMENT.
2558
+ *
2559
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WatchTelemetry
2560
+ */
2561
+ watchTelemetry: {
2562
+ methodKind: "server_streaming";
2563
+ input: typeof WatchTelemetryRequestSchema;
2564
+ output: typeof WatchTelemetryResponseSchema;
2565
+ };
2566
+ /**
2567
+ * WatchGuestLog streams what a sandbox's VM writes to its serial console:
2568
+ * the bytes its host keeps from a cursor on, then each write as it
2569
+ * happens, until the sandbox ends. The host keeps the newest part of the
2570
+ * console; bytes it no longer keeps are skipped, and the next chunk's
2571
+ * offset shows the gap. A slow reader does not block the VM's console
2572
+ * writes; bytes rotated out before it reads them are skipped. A sandbox
2573
+ * that has not started yet is waited for, and so is an empty console. A
2574
+ * sandbox that has ended, or whose host keeps no console log, fails with
2575
+ * FAILED_PRECONDITION. A job or service fails with INVALID_ARGUMENT.
2576
+ *
2577
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WatchGuestLog
2578
+ */
2579
+ watchGuestLog: {
2580
+ methodKind: "server_streaming";
2581
+ input: typeof WatchGuestLogRequestSchema;
2582
+ output: typeof WatchGuestLogResponseSchema;
2583
+ };
2584
+ /**
2585
+ * CreatePreviewShareLink mints a share link for one of a running
2586
+ * sandbox's previews: the channel `preview`, served at the sandbox's own
2587
+ * hostname, unless the request names another of its http channels. The
2588
+ * link is a signed link that admits one device, the first to open it,
2589
+ * until it expires, carries its byte cap or is revoked, and only at that
2590
+ * channel's hostname. The link is in this answer only. The sandbox must
2591
+ * be running with that preview open, or the call fails with
2592
+ * FAILED_PRECONDITION, as it does when the workspace's plan turns share
2593
+ * links off. A channel or port the sandbox has no http channel for fails
2594
+ * with NOT_FOUND; a channel that is not http, a port outside 1 to 65535,
2595
+ * or an expiry or a byte cap above the plan's, with INVALID_ARGUMENT.
2596
+ *
2597
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CreatePreviewShareLink
2598
+ */
2599
+ createPreviewShareLink: {
2600
+ methodKind: "unary";
2601
+ input: typeof CreatePreviewShareLinkRequestSchema;
2602
+ output: typeof CreatePreviewShareLinkResponseSchema;
2603
+ };
2604
+ /**
2605
+ * ListPreviewShareLinks returns a sandbox's share links, for all of its
2606
+ * previews, the oldest first, never with the link itself.
2607
+ *
2608
+ * A page holds 100 share links when page_size is zero, and 1000 at most.
2609
+ *
2610
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListPreviewShareLinks
2611
+ */
2612
+ listPreviewShareLinks: {
2613
+ methodKind: "unary";
2614
+ input: typeof ListPreviewShareLinksRequestSchema;
2615
+ output: typeof ListPreviewShareLinksResponseSchema;
2616
+ };
2617
+ /**
2618
+ * RevokePreviewShareLink revokes a share link: it admits no device
2619
+ * again, and its open connections end within seconds. Revoking a link
2620
+ * that was revoked or has ended returns it as it is.
2621
+ *
2622
+ * @generated from rpc toshi.workspace.v1.WorkloadService.RevokePreviewShareLink
2623
+ */
2624
+ revokePreviewShareLink: {
2625
+ methodKind: "unary";
2626
+ input: typeof RevokePreviewShareLinkRequestSchema;
2627
+ output: typeof RevokePreviewShareLinkResponseSchema;
2628
+ };
2629
+ /**
2630
+ * CreateService creates a service with its recipe as revision 1 and
2631
+ * returns it, created and not started: StartService starts it.
2632
+ *
2633
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CreateService
2634
+ */
2635
+ createService: {
2636
+ methodKind: "unary";
2637
+ input: typeof CreateServiceRequestSchema;
2638
+ output: typeof CreateServiceResponseSchema;
2639
+ };
2640
+ /**
2641
+ * GetService returns one service. An unknown ID fails with NOT_FOUND.
2642
+ *
2643
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetService
2644
+ */
2645
+ getService: {
2646
+ methodKind: "unary";
2647
+ input: typeof GetServiceRequestSchema;
2648
+ output: typeof GetServiceResponseSchema;
2649
+ };
2650
+ /**
2651
+ * ListServices returns the services that match every filter that is set,
2652
+ * oldest first, a page at a time, with the page tokens of ListJobs.
2653
+ *
2654
+ * A page holds 50 services when page_size is zero, and 500 at most.
2655
+ *
2656
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListServices
2657
+ */
2658
+ listServices: {
2659
+ methodKind: "unary";
2660
+ input: typeof ListServicesRequestSchema;
2661
+ output: typeof ListServicesResponseSchema;
2662
+ };
2663
+ /**
2664
+ * UpdateService changes the fields the mask names and returns the
2665
+ * service. Only "labels" can be changed; another path fails with
2666
+ * INVALID_ARGUMENT.
2667
+ *
2668
+ * @generated from rpc toshi.workspace.v1.WorkloadService.UpdateService
2669
+ */
2670
+ updateService: {
2671
+ methodKind: "unary";
2672
+ input: typeof UpdateServiceRequestSchema;
2673
+ output: typeof UpdateServiceResponseSchema;
2674
+ };
2675
+ /**
2676
+ * DeleteService stops a service that has not ended and then removes it.
2677
+ * It returns an operation that is done once the service is removed;
2678
+ * GetService then fails with NOT_FOUND, and the event log keeps its
2679
+ * events.
2680
+ *
2681
+ * @generated from rpc toshi.workspace.v1.WorkloadService.DeleteService
2682
+ */
2683
+ deleteService: {
2684
+ methodKind: "unary";
2685
+ input: typeof DeleteServiceRequestSchema;
2686
+ output: typeof DeleteServiceResponseSchema;
2687
+ };
2688
+ /**
2689
+ * WaitService blocks until the service is in one of the states asked for
2690
+ * or the bound passes, as WaitJob does for a job.
2691
+ *
2692
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WaitService
2693
+ */
2694
+ waitService: {
2695
+ methodKind: "unary";
2696
+ input: typeof WaitServiceRequestSchema;
2697
+ output: typeof WaitServiceResponseSchema;
2698
+ };
2699
+ /**
2700
+ * WatchServices streams each change to a service as the event log
2701
+ * records it, from the position after a cursor, as WatchJobs does for
2702
+ * jobs.
2703
+ *
2704
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WatchServices
2705
+ */
2706
+ watchServices: {
2707
+ methodKind: "server_streaming";
2708
+ input: typeof WatchServicesRequestSchema;
2709
+ output: typeof WatchServicesResponseSchema;
2710
+ };
2711
+ /**
2712
+ * StartService starts a service. An always-on service's workload
2713
+ * moves from CREATED to QUEUED and its first run is queued as a job on
2714
+ * a host, placed by the service's size; the run's start moves the
2715
+ * workload to RUNNING. While the service is started, a run that ends is
2716
+ * followed by another. An on-demand service is started asleep: it runs
2717
+ * only once WakeService, a hold or a connect on one of its channels
2718
+ * wakes it, and sleeps again when it has been idle for its recipe's
2719
+ * idle period. Starting a started service returns it as it is. A size
2720
+ * that is not a Linux one and a start past the plan's shared services
2721
+ * fail with FAILED_PRECONDITION.
2722
+ *
2723
+ * @generated from rpc toshi.workspace.v1.WorkloadService.StartService
2724
+ */
2725
+ startService: {
2726
+ methodKind: "unary";
2727
+ input: typeof StartServiceRequestSchema;
2728
+ output: typeof StartServiceResponseSchema;
2729
+ };
2730
+ /**
2731
+ * StopService stops a service: its workload moves back to CREATED and
2732
+ * its live run is stopped. Stopping a service that is not started
2733
+ * returns it as it is.
2734
+ *
2735
+ * @generated from rpc toshi.workspace.v1.WorkloadService.StopService
2736
+ */
2737
+ stopService: {
2738
+ methodKind: "unary";
2739
+ input: typeof StopServiceRequestSchema;
2740
+ output: typeof StopServiceResponseSchema;
2741
+ };
2742
+ /**
2743
+ * SetServiceMode sets a service's mode. A started service stays
2744
+ * started: set to ON_DEMAND, it sleeps once it is idle; set to
2745
+ * ALWAYS_ON while asleep, its next run is queued.
2746
+ *
2747
+ * @generated from rpc toshi.workspace.v1.WorkloadService.SetServiceMode
2748
+ */
2749
+ setServiceMode: {
2750
+ methodKind: "unary";
2751
+ input: typeof SetServiceModeRequestSchema;
2752
+ output: typeof SetServiceModeResponseSchema;
2753
+ };
2754
+ /**
2755
+ * WakeService wakes a started on-demand service that is asleep: its
2756
+ * workload moves from CREATED to QUEUED and a run is queued, placed as a
2757
+ * start is. A wake keeps the service awake for its recipe's idle period;
2758
+ * waking an awake one extends that. The answer does not wait for the run
2759
+ * to be ready: its ServiceRun's ready_at says when it is. Waking a
2760
+ * started always-on service returns it as it is; a service that is not
2761
+ * started fails with FAILED_PRECONDITION.
2762
+ *
2763
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WakeService
2764
+ */
2765
+ wakeService: {
2766
+ methodKind: "unary";
2767
+ input: typeof WakeServiceRequestSchema;
2768
+ output: typeof WakeServiceResponseSchema;
2769
+ };
2770
+ /**
2771
+ * HoldService takes or renews the caller's hold on a started service:
2772
+ * while any hold is live, an on-demand service does not sleep, and a
2773
+ * hold on one that is asleep wakes it. Each caller has one hold per
2774
+ * service, live until its time to live runs out or ReleaseService drops
2775
+ * it. A hold gives no access to the service. A service that is not
2776
+ * started fails with FAILED_PRECONDITION, and a time to live above an
2777
+ * hour with INVALID_ARGUMENT.
2778
+ *
2779
+ * @generated from rpc toshi.workspace.v1.WorkloadService.HoldService
2780
+ */
2781
+ holdService: {
2782
+ methodKind: "unary";
2783
+ input: typeof HoldServiceRequestSchema;
2784
+ output: typeof HoldServiceResponseSchema;
2785
+ };
2786
+ /**
2787
+ * ReleaseService drops the caller's hold on a service. Releasing a hold
2788
+ * the caller does not have returns the service as it is.
2789
+ *
2790
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ReleaseService
2791
+ */
2792
+ releaseService: {
2793
+ methodKind: "unary";
2794
+ input: typeof ReleaseServiceRequestSchema;
2795
+ output: typeof ReleaseServiceResponseSchema;
2796
+ };
2797
+ /**
2798
+ * ListServiceRuns returns a service's runs, the newest first: each run
2799
+ * is a job on a host, of the revision that was current when it was
2800
+ * queued.
2801
+ *
2802
+ * A page holds 20 runs when page_size is zero, and 100 at most.
2803
+ *
2804
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListServiceRuns
2805
+ */
2806
+ listServiceRuns: {
2807
+ methodKind: "unary";
2808
+ input: typeof ListServiceRunsRequestSchema;
2809
+ output: typeof ListServiceRunsResponseSchema;
2810
+ };
2811
+ /**
2812
+ * ListEvents returns the events after a cursor, oldest first, a page at a
2813
+ * time, for a client that polls or catches up after downtime.
2814
+ *
2815
+ * A page holds 50 events when page_size is zero, and 500 at most.
2816
+ *
2817
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListEvents
2818
+ */
2819
+ listEvents: {
2820
+ methodKind: "unary";
2821
+ input: typeof ListEventsRequestSchema;
2822
+ output: typeof ListEventsResponseSchema;
2823
+ };
2824
+ /**
2825
+ * WatchEvents streams the events after a cursor, then each new event as
2826
+ * it is written, for a client that stays connected.
2827
+ *
2828
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WatchEvents
2829
+ */
2830
+ watchEvents: {
2831
+ methodKind: "server_streaming";
2832
+ input: typeof WatchEventsRequestSchema;
2833
+ output: typeof WatchEventsResponseSchema;
2834
+ };
2835
+ /**
2836
+ * GetOperation returns one operation. An unknown ID fails with NOT_FOUND.
2837
+ *
2838
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetOperation
2839
+ */
2840
+ getOperation: {
2841
+ methodKind: "unary";
2842
+ input: typeof GetOperationRequestSchema;
2843
+ output: typeof GetOperationResponseSchema;
2844
+ };
2845
+ /**
2846
+ * WaitOperation blocks until the operation is done or the bound passes,
2847
+ * whichever is first, and returns it. Passing the bound is not an error:
2848
+ * the operation comes back not done, and the caller asks again. The server
2849
+ * may wait less than the bound asked for.
2850
+ *
2851
+ * @generated from rpc toshi.workspace.v1.WorkloadService.WaitOperation
2852
+ */
2853
+ waitOperation: {
2854
+ methodKind: "unary";
2855
+ input: typeof WaitOperationRequestSchema;
2856
+ output: typeof WaitOperationResponseSchema;
2857
+ };
2858
+ }>;