@toshicloud/sdk 0.5.0 → 0.5.1

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 (71) hide show
  1. package/README.md +82 -40
  2. package/dist/client.d.ts +33 -2
  3. package/dist/client.js +28 -3
  4. package/dist/errors.d.ts +74 -22
  5. package/dist/errors.js +99 -27
  6. package/dist/gen/toshi/permission_pb.d.ts +207 -2
  7. package/dist/gen/toshi/permission_pb.js +54 -2
  8. package/dist/gen/toshi/workspace/v1/account_pb.d.ts +590 -0
  9. package/dist/gen/toshi/workspace/v1/account_pb.js +75 -0
  10. package/dist/gen/toshi/workspace/v1/artifacts_pb.d.ts +14 -8
  11. package/dist/gen/toshi/workspace/v1/artifacts_pb.js +9 -7
  12. package/dist/gen/toshi/workspace/v1/audit_events_pb.d.ts +191 -6
  13. package/dist/gen/toshi/workspace/v1/audit_events_pb.js +11 -1
  14. package/dist/gen/toshi/workspace/v1/channels_pb.d.ts +1194 -21
  15. package/dist/gen/toshi/workspace/v1/channels_pb.js +185 -39
  16. package/dist/gen/toshi/workspace/v1/connections_pb.d.ts +1481 -0
  17. package/dist/gen/toshi/workspace/v1/connections_pb.js +208 -0
  18. package/dist/gen/toshi/workspace/v1/discovery_pb.d.ts +291 -43
  19. package/dist/gen/toshi/workspace/v1/discovery_pb.js +79 -30
  20. package/dist/gen/toshi/workspace/v1/display_pb.d.ts +198 -15
  21. package/dist/gen/toshi/workspace/v1/display_pb.js +52 -2
  22. package/dist/gen/toshi/workspace/v1/domains_pb.d.ts +864 -0
  23. package/dist/gen/toshi/workspace/v1/domains_pb.js +152 -0
  24. package/dist/gen/toshi/workspace/v1/fillers_pb.d.ts +12 -4
  25. package/dist/gen/toshi/workspace/v1/fillers_pb.js +1 -1
  26. package/dist/gen/toshi/workspace/v1/grants_pb.d.ts +1297 -0
  27. package/dist/gen/toshi/workspace/v1/grants_pb.js +271 -0
  28. package/dist/gen/toshi/workspace/v1/hostjobs_pb.d.ts +315 -15
  29. package/dist/gen/toshi/workspace/v1/hostjobs_pb.js +10 -5
  30. package/dist/gen/toshi/workspace/v1/hosts_pb.d.ts +196 -7
  31. package/dist/gen/toshi/workspace/v1/hosts_pb.js +12 -7
  32. package/dist/gen/toshi/workspace/v1/images_pb.d.ts +1463 -0
  33. package/dist/gen/toshi/workspace/v1/images_pb.js +263 -0
  34. package/dist/gen/toshi/workspace/v1/products_pb.d.ts +99 -296
  35. package/dist/gen/toshi/workspace/v1/products_pb.js +7 -53
  36. package/dist/gen/toshi/workspace/v1/projects_pb.d.ts +1474 -99
  37. package/dist/gen/toshi/workspace/v1/projects_pb.js +150 -33
  38. package/dist/gen/toshi/workspace/v1/recordings_pb.d.ts +181 -14
  39. package/dist/gen/toshi/workspace/v1/recordings_pb.js +54 -14
  40. package/dist/gen/toshi/workspace/v1/roles_pb.d.ts +1994 -0
  41. package/dist/gen/toshi/workspace/v1/roles_pb.js +355 -0
  42. package/dist/gen/toshi/workspace/v1/secrets_pb.d.ts +314 -8
  43. package/dist/gen/toshi/workspace/v1/secrets_pb.js +42 -18
  44. package/dist/gen/toshi/workspace/v1/storage_providers_pb.d.ts +14 -0
  45. package/dist/gen/toshi/workspace/v1/storage_providers_pb.js +1 -1
  46. package/dist/gen/toshi/workspace/v1/tokens_pb.d.ts +434 -5
  47. package/dist/gen/toshi/workspace/v1/tokens_pb.js +65 -8
  48. package/dist/gen/toshi/workspace/v1/triggers_pb.d.ts +1099 -0
  49. package/dist/gen/toshi/workspace/v1/triggers_pb.js +185 -0
  50. package/dist/gen/toshi/workspace/v1/volumes_pb.d.ts +1052 -33
  51. package/dist/gen/toshi/workspace/v1/volumes_pb.js +169 -11
  52. package/dist/gen/toshi/workspace/v1/webhook_pb.d.ts +66 -8
  53. package/dist/gen/toshi/workspace/v1/webhook_pb.js +4 -4
  54. package/dist/gen/toshi/workspace/v1/workloads_pb.d.ts +2043 -54
  55. package/dist/gen/toshi/workspace/v1/workloads_pb.js +204 -54
  56. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +6290 -937
  57. package/dist/gen/toshi/workspace/v1/workspace_pb.js +801 -88
  58. package/dist/gen/toshi/workspace/v1/workspace_service_pb.d.ts +2176 -630
  59. package/dist/gen/toshi/workspace/v1/workspace_service_pb.js +191 -74
  60. package/dist/index.d.ts +8 -1
  61. package/dist/index.js +8 -1
  62. package/dist/interceptors.d.ts +6 -2
  63. package/dist/interceptors.js +13 -8
  64. package/dist/retry.d.ts +18 -0
  65. package/dist/retry.js +225 -23
  66. package/dist/test/procedures.js +100 -5
  67. package/dist/version.d.ts +1 -1
  68. package/dist/version.js +1 -1
  69. package/dist/wait.d.ts +4 -0
  70. package/dist/wait.js +24 -1
  71. package/package.json +3 -2
@@ -0,0 +1,1463 @@
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { FieldMask, FieldMaskJson, Timestamp, TimestampJson } from "@bufbuild/protobuf/wkt";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file toshi/workspace/v1/images.proto.
6
+ */
7
+ export declare const file_toshi_workspace_v1_images: GenFile;
8
+ /**
9
+ * Image is a project's own image.
10
+ *
11
+ * @generated from message toshi.workspace.v1.Image
12
+ */
13
+ export type Image = Message<"toshi.workspace.v1.Image"> & {
14
+ /**
15
+ * @generated from field: string id = 1;
16
+ */
17
+ id: string;
18
+ /**
19
+ * @generated from field: string name = 2;
20
+ */
21
+ name: string;
22
+ /**
23
+ * The name of the project it belongs to.
24
+ *
25
+ * @generated from field: string project = 3;
26
+ */
27
+ project: string;
28
+ /**
29
+ * @generated from field: toshi.workspace.v1.ImageKind kind = 4;
30
+ */
31
+ kind: ImageKind;
32
+ /**
33
+ * The one of Toshi's images it is built on, such as ubuntu-24.04.
34
+ *
35
+ * @generated from field: string base = 5;
36
+ */
37
+ base: string;
38
+ /**
39
+ * The size its builds run at; empty for a container image that is
40
+ * pushed.
41
+ *
42
+ * @generated from field: string size = 6;
43
+ */
44
+ size: string;
45
+ /**
46
+ * The recipe its next build runs, in TOML: that of its newest ready
47
+ * version, or the one it was created with until a build is ready.
48
+ *
49
+ * @generated from field: string recipe = 7;
50
+ */
51
+ recipe: string;
52
+ /**
53
+ * The SHA-256 of recipe, in hex.
54
+ *
55
+ * @generated from field: string recipe_digest = 8;
56
+ */
57
+ recipeDigest: string;
58
+ /**
59
+ * The environment whose secret sets its builds receive. For a container
60
+ * image built from a repository, the one its first build took: each
61
+ * build takes the one the branch rules choose then.
62
+ *
63
+ * @generated from field: string environment = 9;
64
+ */
65
+ environment: string;
66
+ /**
67
+ * @generated from field: google.protobuf.Timestamp created_at = 10;
68
+ */
69
+ createdAt?: Timestamp | undefined;
70
+ /**
71
+ * @generated from field: google.protobuf.Timestamp updated_at = 11;
72
+ */
73
+ updatedAt?: Timestamp | undefined;
74
+ /**
75
+ * Its newest ready version; unset when it has none.
76
+ *
77
+ * @generated from field: toshi.workspace.v1.ImageVersion latest = 12;
78
+ */
79
+ latest?: ImageVersion | undefined;
80
+ /**
81
+ * The repository a container image is built from, as owner/name, and
82
+ * the builder its builds use; empty and unspecified for one that is
83
+ * pushed.
84
+ *
85
+ * @generated from field: string source = 13;
86
+ */
87
+ source: string;
88
+ /**
89
+ * @generated from field: toshi.workspace.v1.ImageBuilder builder = 14;
90
+ */
91
+ builder: ImageBuilder;
92
+ /**
93
+ * The reference a container image built from a repository pushes to in
94
+ * the workspace's own registry, and the key of the build secret that
95
+ * holds that registry's Docker config.json; both empty when its builds
96
+ * push to the deployment's registry.
97
+ *
98
+ * @generated from field: string registry = 15;
99
+ */
100
+ registry: string;
101
+ /**
102
+ * @generated from field: string registry_secret = 16;
103
+ */
104
+ registrySecret: string;
105
+ /**
106
+ * A container image built from a repository is built again on each push
107
+ * to its source's default branch: at most one build per push, while one
108
+ * runs the newest push waits and replaces an older one that waited, and
109
+ * a push to another branch, a fork's or one that deletes the branch
110
+ * builds nothing. Off unless set.
111
+ *
112
+ * @generated from field: bool rebuild_on_push = 17;
113
+ */
114
+ rebuildOnPush: boolean;
115
+ /**
116
+ * Whether recipe declares an [agent] table: a job, sandbox or service
117
+ * that runs the image is an agent. Set by Toshi from the recipe.
118
+ *
119
+ * @generated from field: bool agent = 18;
120
+ */
121
+ agent: boolean;
122
+ /**
123
+ * The reference a client pulls a container image by from the
124
+ * deployment's registry, pinned to its newest ready version, such as
125
+ * registry.example.com/<workspace id>/<name>@sha256:<hex>. Empty for a
126
+ * disk image, for one whose builds push to the workspace's own registry,
127
+ * for one with no ready version, and when the deployment runs no
128
+ * registry.
129
+ *
130
+ * @generated from field: string reference = 19;
131
+ */
132
+ reference: string;
133
+ };
134
+ /**
135
+ * Image is a project's own image.
136
+ *
137
+ * @generated from message toshi.workspace.v1.Image
138
+ */
139
+ export type ImageJson = {
140
+ /**
141
+ * @generated from field: string id = 1;
142
+ */
143
+ id?: string;
144
+ /**
145
+ * @generated from field: string name = 2;
146
+ */
147
+ name?: string;
148
+ /**
149
+ * The name of the project it belongs to.
150
+ *
151
+ * @generated from field: string project = 3;
152
+ */
153
+ project?: string;
154
+ /**
155
+ * @generated from field: toshi.workspace.v1.ImageKind kind = 4;
156
+ */
157
+ kind?: ImageKindJson;
158
+ /**
159
+ * The one of Toshi's images it is built on, such as ubuntu-24.04.
160
+ *
161
+ * @generated from field: string base = 5;
162
+ */
163
+ base?: string;
164
+ /**
165
+ * The size its builds run at; empty for a container image that is
166
+ * pushed.
167
+ *
168
+ * @generated from field: string size = 6;
169
+ */
170
+ size?: string;
171
+ /**
172
+ * The recipe its next build runs, in TOML: that of its newest ready
173
+ * version, or the one it was created with until a build is ready.
174
+ *
175
+ * @generated from field: string recipe = 7;
176
+ */
177
+ recipe?: string;
178
+ /**
179
+ * The SHA-256 of recipe, in hex.
180
+ *
181
+ * @generated from field: string recipe_digest = 8;
182
+ */
183
+ recipeDigest?: string;
184
+ /**
185
+ * The environment whose secret sets its builds receive. For a container
186
+ * image built from a repository, the one its first build took: each
187
+ * build takes the one the branch rules choose then.
188
+ *
189
+ * @generated from field: string environment = 9;
190
+ */
191
+ environment?: string;
192
+ /**
193
+ * @generated from field: google.protobuf.Timestamp created_at = 10;
194
+ */
195
+ createdAt?: TimestampJson;
196
+ /**
197
+ * @generated from field: google.protobuf.Timestamp updated_at = 11;
198
+ */
199
+ updatedAt?: TimestampJson;
200
+ /**
201
+ * Its newest ready version; unset when it has none.
202
+ *
203
+ * @generated from field: toshi.workspace.v1.ImageVersion latest = 12;
204
+ */
205
+ latest?: ImageVersionJson;
206
+ /**
207
+ * The repository a container image is built from, as owner/name, and
208
+ * the builder its builds use; empty and unspecified for one that is
209
+ * pushed.
210
+ *
211
+ * @generated from field: string source = 13;
212
+ */
213
+ source?: string;
214
+ /**
215
+ * @generated from field: toshi.workspace.v1.ImageBuilder builder = 14;
216
+ */
217
+ builder?: ImageBuilderJson;
218
+ /**
219
+ * The reference a container image built from a repository pushes to in
220
+ * the workspace's own registry, and the key of the build secret that
221
+ * holds that registry's Docker config.json; both empty when its builds
222
+ * push to the deployment's registry.
223
+ *
224
+ * @generated from field: string registry = 15;
225
+ */
226
+ registry?: string;
227
+ /**
228
+ * @generated from field: string registry_secret = 16;
229
+ */
230
+ registrySecret?: string;
231
+ /**
232
+ * A container image built from a repository is built again on each push
233
+ * to its source's default branch: at most one build per push, while one
234
+ * runs the newest push waits and replaces an older one that waited, and
235
+ * a push to another branch, a fork's or one that deletes the branch
236
+ * builds nothing. Off unless set.
237
+ *
238
+ * @generated from field: bool rebuild_on_push = 17;
239
+ */
240
+ rebuildOnPush?: boolean;
241
+ /**
242
+ * Whether recipe declares an [agent] table: a job, sandbox or service
243
+ * that runs the image is an agent. Set by Toshi from the recipe.
244
+ *
245
+ * @generated from field: bool agent = 18;
246
+ */
247
+ agent?: boolean;
248
+ /**
249
+ * The reference a client pulls a container image by from the
250
+ * deployment's registry, pinned to its newest ready version, such as
251
+ * registry.example.com/<workspace id>/<name>@sha256:<hex>. Empty for a
252
+ * disk image, for one whose builds push to the workspace's own registry,
253
+ * for one with no ready version, and when the deployment runs no
254
+ * registry.
255
+ *
256
+ * @generated from field: string reference = 19;
257
+ */
258
+ reference?: string;
259
+ };
260
+ /**
261
+ * Describes the message toshi.workspace.v1.Image.
262
+ * Use `create(ImageSchema)` to create a new message.
263
+ */
264
+ export declare const ImageSchema: GenMessage<Image, {
265
+ jsonType: ImageJson;
266
+ }>;
267
+ /**
268
+ * ImageVersion is one build of an image, or one push of a container image.
269
+ *
270
+ * @generated from message toshi.workspace.v1.ImageVersion
271
+ */
272
+ export type ImageVersion = Message<"toshi.workspace.v1.ImageVersion"> & {
273
+ /**
274
+ * @generated from field: string id = 1;
275
+ */
276
+ id: string;
277
+ /**
278
+ * Counts from 1 in the order the image's versions were recorded: a
279
+ * build's when it started, failed ones included, and a push's when Toshi
280
+ * found it.
281
+ *
282
+ * @generated from field: int64 number = 2;
283
+ */
284
+ number: bigint;
285
+ /**
286
+ * @generated from field: toshi.workspace.v1.ImageVersionState state = 3;
287
+ */
288
+ state: ImageVersionState;
289
+ /**
290
+ * The base it was built on, and that base's SHA-256 in hex; the base is
291
+ * kept while a version uses it.
292
+ *
293
+ * @generated from field: string base = 4;
294
+ */
295
+ base: string;
296
+ /**
297
+ * @generated from field: string base_digest = 5;
298
+ */
299
+ baseDigest: string;
300
+ /**
301
+ * The bytes its overlay holds in the object store; 0 until ready.
302
+ *
303
+ * @generated from field: int64 size_bytes = 6;
304
+ */
305
+ sizeBytes: bigint;
306
+ /**
307
+ * The SHA-256 of the recipe it was built from, in hex.
308
+ *
309
+ * @generated from field: string recipe_digest = 7;
310
+ */
311
+ recipeDigest: string;
312
+ /**
313
+ * The job that built it.
314
+ *
315
+ * @generated from field: string build_job_id = 8;
316
+ */
317
+ buildJobId: string;
318
+ /**
319
+ * Why its build failed; empty unless state is FAILED.
320
+ *
321
+ * @generated from field: string failure = 9;
322
+ */
323
+ failure: string;
324
+ /**
325
+ * @generated from field: google.protobuf.Timestamp created_at = 10;
326
+ */
327
+ createdAt?: Timestamp | undefined;
328
+ /**
329
+ * @generated from field: google.protobuf.Timestamp ready_at = 11;
330
+ */
331
+ readyAt?: Timestamp | undefined;
332
+ /**
333
+ * When it became pending deletion, and when its overlay is deleted.
334
+ *
335
+ * @generated from field: google.protobuf.Timestamp pending_since = 12;
336
+ */
337
+ pendingSince?: Timestamp | undefined;
338
+ /**
339
+ * @generated from field: google.protobuf.Timestamp delete_after = 13;
340
+ */
341
+ deleteAfter?: Timestamp | undefined;
342
+ /**
343
+ * @generated from field: google.protobuf.Timestamp deleted_at = 14;
344
+ */
345
+ deletedAt?: Timestamp | undefined;
346
+ /**
347
+ * On a version pending deletion or deleted: the service revisions made
348
+ * with it, which a rollback can no longer select.
349
+ *
350
+ * @generated from field: repeated toshi.workspace.v1.ImageVersionPin pinned_by = 15;
351
+ */
352
+ pinnedBy: ImageVersionPin[];
353
+ /**
354
+ * A container version's manifest digest, sha256:<hex>, once ready, and
355
+ * what pushed it.
356
+ *
357
+ * @generated from field: string digest = 16;
358
+ */
359
+ digest: string;
360
+ /**
361
+ * @generated from field: toshi.workspace.v1.ImagePusher pushed_by = 17;
362
+ */
363
+ pushedBy: ImagePusher;
364
+ /**
365
+ * A container version's build: the commit it built, the builder that
366
+ * built it (never AUTO), and for Railpack its version and the digest of
367
+ * its BuildKit frontend.
368
+ *
369
+ * @generated from field: string source_commit = 18;
370
+ */
371
+ sourceCommit: string;
372
+ /**
373
+ * @generated from field: toshi.workspace.v1.ImageBuilder builder = 19;
374
+ */
375
+ builder: ImageBuilder;
376
+ /**
377
+ * @generated from field: string builder_version = 20;
378
+ */
379
+ builderVersion: string;
380
+ /**
381
+ * @generated from field: string builder_frontend_digest = 21;
382
+ */
383
+ builderFrontendDigest: string;
384
+ /**
385
+ * Whether the build's commit is the source repository's own rather than
386
+ * a fork's. An untrusted build receives no build secrets.
387
+ *
388
+ * @generated from field: bool trusted = 22;
389
+ */
390
+ trusted: boolean;
391
+ /**
392
+ * The tag a container version pushed by hand was found under; empty for
393
+ * a build's version. A later push of the same tag is a new version.
394
+ *
395
+ * @generated from field: string tag = 23;
396
+ */
397
+ tag: string;
398
+ /**
399
+ * Whether the recipe this version was built from declares an [agent]
400
+ * table. Set by Toshi from that recipe.
401
+ *
402
+ * @generated from field: bool agent = 24;
403
+ */
404
+ agent: boolean;
405
+ };
406
+ /**
407
+ * ImageVersion is one build of an image, or one push of a container image.
408
+ *
409
+ * @generated from message toshi.workspace.v1.ImageVersion
410
+ */
411
+ export type ImageVersionJson = {
412
+ /**
413
+ * @generated from field: string id = 1;
414
+ */
415
+ id?: string;
416
+ /**
417
+ * Counts from 1 in the order the image's versions were recorded: a
418
+ * build's when it started, failed ones included, and a push's when Toshi
419
+ * found it.
420
+ *
421
+ * @generated from field: int64 number = 2;
422
+ */
423
+ number?: string;
424
+ /**
425
+ * @generated from field: toshi.workspace.v1.ImageVersionState state = 3;
426
+ */
427
+ state?: ImageVersionStateJson;
428
+ /**
429
+ * The base it was built on, and that base's SHA-256 in hex; the base is
430
+ * kept while a version uses it.
431
+ *
432
+ * @generated from field: string base = 4;
433
+ */
434
+ base?: string;
435
+ /**
436
+ * @generated from field: string base_digest = 5;
437
+ */
438
+ baseDigest?: string;
439
+ /**
440
+ * The bytes its overlay holds in the object store; 0 until ready.
441
+ *
442
+ * @generated from field: int64 size_bytes = 6;
443
+ */
444
+ sizeBytes?: string;
445
+ /**
446
+ * The SHA-256 of the recipe it was built from, in hex.
447
+ *
448
+ * @generated from field: string recipe_digest = 7;
449
+ */
450
+ recipeDigest?: string;
451
+ /**
452
+ * The job that built it.
453
+ *
454
+ * @generated from field: string build_job_id = 8;
455
+ */
456
+ buildJobId?: string;
457
+ /**
458
+ * Why its build failed; empty unless state is FAILED.
459
+ *
460
+ * @generated from field: string failure = 9;
461
+ */
462
+ failure?: string;
463
+ /**
464
+ * @generated from field: google.protobuf.Timestamp created_at = 10;
465
+ */
466
+ createdAt?: TimestampJson;
467
+ /**
468
+ * @generated from field: google.protobuf.Timestamp ready_at = 11;
469
+ */
470
+ readyAt?: TimestampJson;
471
+ /**
472
+ * When it became pending deletion, and when its overlay is deleted.
473
+ *
474
+ * @generated from field: google.protobuf.Timestamp pending_since = 12;
475
+ */
476
+ pendingSince?: TimestampJson;
477
+ /**
478
+ * @generated from field: google.protobuf.Timestamp delete_after = 13;
479
+ */
480
+ deleteAfter?: TimestampJson;
481
+ /**
482
+ * @generated from field: google.protobuf.Timestamp deleted_at = 14;
483
+ */
484
+ deletedAt?: TimestampJson;
485
+ /**
486
+ * On a version pending deletion or deleted: the service revisions made
487
+ * with it, which a rollback can no longer select.
488
+ *
489
+ * @generated from field: repeated toshi.workspace.v1.ImageVersionPin pinned_by = 15;
490
+ */
491
+ pinnedBy?: ImageVersionPinJson[];
492
+ /**
493
+ * A container version's manifest digest, sha256:<hex>, once ready, and
494
+ * what pushed it.
495
+ *
496
+ * @generated from field: string digest = 16;
497
+ */
498
+ digest?: string;
499
+ /**
500
+ * @generated from field: toshi.workspace.v1.ImagePusher pushed_by = 17;
501
+ */
502
+ pushedBy?: ImagePusherJson;
503
+ /**
504
+ * A container version's build: the commit it built, the builder that
505
+ * built it (never AUTO), and for Railpack its version and the digest of
506
+ * its BuildKit frontend.
507
+ *
508
+ * @generated from field: string source_commit = 18;
509
+ */
510
+ sourceCommit?: string;
511
+ /**
512
+ * @generated from field: toshi.workspace.v1.ImageBuilder builder = 19;
513
+ */
514
+ builder?: ImageBuilderJson;
515
+ /**
516
+ * @generated from field: string builder_version = 20;
517
+ */
518
+ builderVersion?: string;
519
+ /**
520
+ * @generated from field: string builder_frontend_digest = 21;
521
+ */
522
+ builderFrontendDigest?: string;
523
+ /**
524
+ * Whether the build's commit is the source repository's own rather than
525
+ * a fork's. An untrusted build receives no build secrets.
526
+ *
527
+ * @generated from field: bool trusted = 22;
528
+ */
529
+ trusted?: boolean;
530
+ /**
531
+ * The tag a container version pushed by hand was found under; empty for
532
+ * a build's version. A later push of the same tag is a new version.
533
+ *
534
+ * @generated from field: string tag = 23;
535
+ */
536
+ tag?: string;
537
+ /**
538
+ * Whether the recipe this version was built from declares an [agent]
539
+ * table. Set by Toshi from that recipe.
540
+ *
541
+ * @generated from field: bool agent = 24;
542
+ */
543
+ agent?: boolean;
544
+ };
545
+ /**
546
+ * Describes the message toshi.workspace.v1.ImageVersion.
547
+ * Use `create(ImageVersionSchema)` to create a new message.
548
+ */
549
+ export declare const ImageVersionSchema: GenMessage<ImageVersion, {
550
+ jsonType: ImageVersionJson;
551
+ }>;
552
+ /**
553
+ * ImageVersionPin is a service revision made with an image version.
554
+ *
555
+ * @generated from message toshi.workspace.v1.ImageVersionPin
556
+ */
557
+ export type ImageVersionPin = Message<"toshi.workspace.v1.ImageVersionPin"> & {
558
+ /**
559
+ * @generated from field: string service_id = 1;
560
+ */
561
+ serviceId: string;
562
+ /**
563
+ * @generated from field: string service_name = 2;
564
+ */
565
+ serviceName: string;
566
+ /**
567
+ * @generated from field: int64 revision = 3;
568
+ */
569
+ revision: bigint;
570
+ };
571
+ /**
572
+ * ImageVersionPin is a service revision made with an image version.
573
+ *
574
+ * @generated from message toshi.workspace.v1.ImageVersionPin
575
+ */
576
+ export type ImageVersionPinJson = {
577
+ /**
578
+ * @generated from field: string service_id = 1;
579
+ */
580
+ serviceId?: string;
581
+ /**
582
+ * @generated from field: string service_name = 2;
583
+ */
584
+ serviceName?: string;
585
+ /**
586
+ * @generated from field: int64 revision = 3;
587
+ */
588
+ revision?: string;
589
+ };
590
+ /**
591
+ * Describes the message toshi.workspace.v1.ImageVersionPin.
592
+ * Use `create(ImageVersionPinSchema)` to create a new message.
593
+ */
594
+ export declare const ImageVersionPinSchema: GenMessage<ImageVersionPin, {
595
+ jsonType: ImageVersionPinJson;
596
+ }>;
597
+ /**
598
+ * @generated from message toshi.workspace.v1.CreateImageRequest
599
+ */
600
+ export type CreateImageRequest = Message<"toshi.workspace.v1.CreateImageRequest"> & {
601
+ /**
602
+ * @generated from field: string project = 1;
603
+ */
604
+ project: string;
605
+ /**
606
+ * The environment whose secret sets the image's builds receive; empty is
607
+ * the project's default environment. Empty for a container image built
608
+ * from a repository.
609
+ *
610
+ * @generated from field: string environment = 2;
611
+ */
612
+ environment: string;
613
+ /**
614
+ * @generated from field: string name = 3;
615
+ */
616
+ name: string;
617
+ /**
618
+ * @generated from field: toshi.workspace.v1.ImageKind kind = 4;
619
+ */
620
+ kind: ImageKind;
621
+ /**
622
+ * A disk's base, empty for a container image; the size a disk's or a
623
+ * container image built from a repository's builds run at.
624
+ *
625
+ * @generated from field: string base = 5;
626
+ */
627
+ base: string;
628
+ /**
629
+ * @generated from field: string size = 6;
630
+ */
631
+ size: string;
632
+ /**
633
+ * In the format of a service's recipe, in TOML. An image uses its setup
634
+ * hook, which is required, and its process's env and cwd for that hook;
635
+ * any other field fails with INVALID_ARGUMENT. Empty for a container
636
+ * image.
637
+ *
638
+ * @generated from field: string recipe = 7;
639
+ */
640
+ recipe: string;
641
+ /**
642
+ * The repository a container image is built from, as owner/name; empty
643
+ * for one that is pushed. The builder defaults to AUTO.
644
+ *
645
+ * @generated from field: string source = 8;
646
+ */
647
+ source: string;
648
+ /**
649
+ * @generated from field: toshi.workspace.v1.ImageBuilder builder = 9;
650
+ */
651
+ builder: ImageBuilder;
652
+ /**
653
+ * A reference in the workspace's own registry for the builds to push to,
654
+ * such as ghcr.io/acme/web, and the key of a build secret granted to the
655
+ * image's builds that holds its Docker config.json; both empty to push
656
+ * to the deployment's registry.
657
+ *
658
+ * @generated from field: string registry = 10;
659
+ */
660
+ registry: string;
661
+ /**
662
+ * @generated from field: string registry_secret = 11;
663
+ */
664
+ registrySecret: string;
665
+ /**
666
+ * Builds the image again on each push to its source's default branch,
667
+ * as Image.rebuild_on_push says; only for one built from a repository.
668
+ *
669
+ * @generated from field: bool rebuild_on_push = 12;
670
+ */
671
+ rebuildOnPush: boolean;
672
+ /**
673
+ * @generated from field: string request_key = 13;
674
+ */
675
+ requestKey: string;
676
+ };
677
+ /**
678
+ * @generated from message toshi.workspace.v1.CreateImageRequest
679
+ */
680
+ export type CreateImageRequestJson = {
681
+ /**
682
+ * @generated from field: string project = 1;
683
+ */
684
+ project?: string;
685
+ /**
686
+ * The environment whose secret sets the image's builds receive; empty is
687
+ * the project's default environment. Empty for a container image built
688
+ * from a repository.
689
+ *
690
+ * @generated from field: string environment = 2;
691
+ */
692
+ environment?: string;
693
+ /**
694
+ * @generated from field: string name = 3;
695
+ */
696
+ name?: string;
697
+ /**
698
+ * @generated from field: toshi.workspace.v1.ImageKind kind = 4;
699
+ */
700
+ kind?: ImageKindJson;
701
+ /**
702
+ * A disk's base, empty for a container image; the size a disk's or a
703
+ * container image built from a repository's builds run at.
704
+ *
705
+ * @generated from field: string base = 5;
706
+ */
707
+ base?: string;
708
+ /**
709
+ * @generated from field: string size = 6;
710
+ */
711
+ size?: string;
712
+ /**
713
+ * In the format of a service's recipe, in TOML. An image uses its setup
714
+ * hook, which is required, and its process's env and cwd for that hook;
715
+ * any other field fails with INVALID_ARGUMENT. Empty for a container
716
+ * image.
717
+ *
718
+ * @generated from field: string recipe = 7;
719
+ */
720
+ recipe?: string;
721
+ /**
722
+ * The repository a container image is built from, as owner/name; empty
723
+ * for one that is pushed. The builder defaults to AUTO.
724
+ *
725
+ * @generated from field: string source = 8;
726
+ */
727
+ source?: string;
728
+ /**
729
+ * @generated from field: toshi.workspace.v1.ImageBuilder builder = 9;
730
+ */
731
+ builder?: ImageBuilderJson;
732
+ /**
733
+ * A reference in the workspace's own registry for the builds to push to,
734
+ * such as ghcr.io/acme/web, and the key of a build secret granted to the
735
+ * image's builds that holds its Docker config.json; both empty to push
736
+ * to the deployment's registry.
737
+ *
738
+ * @generated from field: string registry = 10;
739
+ */
740
+ registry?: string;
741
+ /**
742
+ * @generated from field: string registry_secret = 11;
743
+ */
744
+ registrySecret?: string;
745
+ /**
746
+ * Builds the image again on each push to its source's default branch,
747
+ * as Image.rebuild_on_push says; only for one built from a repository.
748
+ *
749
+ * @generated from field: bool rebuild_on_push = 12;
750
+ */
751
+ rebuildOnPush?: boolean;
752
+ /**
753
+ * @generated from field: string request_key = 13;
754
+ */
755
+ requestKey?: string;
756
+ };
757
+ /**
758
+ * Describes the message toshi.workspace.v1.CreateImageRequest.
759
+ * Use `create(CreateImageRequestSchema)` to create a new message.
760
+ */
761
+ export declare const CreateImageRequestSchema: GenMessage<CreateImageRequest, {
762
+ jsonType: CreateImageRequestJson;
763
+ }>;
764
+ /**
765
+ * @generated from message toshi.workspace.v1.CreateImageResponse
766
+ */
767
+ export type CreateImageResponse = Message<"toshi.workspace.v1.CreateImageResponse"> & {
768
+ /**
769
+ * @generated from field: toshi.workspace.v1.Image image = 1;
770
+ */
771
+ image?: Image | undefined;
772
+ /**
773
+ * The version the image's first build makes, building.
774
+ *
775
+ * @generated from field: toshi.workspace.v1.ImageVersion version = 2;
776
+ */
777
+ version?: ImageVersion | undefined;
778
+ };
779
+ /**
780
+ * @generated from message toshi.workspace.v1.CreateImageResponse
781
+ */
782
+ export type CreateImageResponseJson = {
783
+ /**
784
+ * @generated from field: toshi.workspace.v1.Image image = 1;
785
+ */
786
+ image?: ImageJson;
787
+ /**
788
+ * The version the image's first build makes, building.
789
+ *
790
+ * @generated from field: toshi.workspace.v1.ImageVersion version = 2;
791
+ */
792
+ version?: ImageVersionJson;
793
+ };
794
+ /**
795
+ * Describes the message toshi.workspace.v1.CreateImageResponse.
796
+ * Use `create(CreateImageResponseSchema)` to create a new message.
797
+ */
798
+ export declare const CreateImageResponseSchema: GenMessage<CreateImageResponse, {
799
+ jsonType: CreateImageResponseJson;
800
+ }>;
801
+ /**
802
+ * @generated from message toshi.workspace.v1.GetImageRequest
803
+ */
804
+ export type GetImageRequest = Message<"toshi.workspace.v1.GetImageRequest"> & {
805
+ /**
806
+ * @generated from field: string project = 1;
807
+ */
808
+ project: string;
809
+ /**
810
+ * @generated from field: string name = 2;
811
+ */
812
+ name: string;
813
+ };
814
+ /**
815
+ * @generated from message toshi.workspace.v1.GetImageRequest
816
+ */
817
+ export type GetImageRequestJson = {
818
+ /**
819
+ * @generated from field: string project = 1;
820
+ */
821
+ project?: string;
822
+ /**
823
+ * @generated from field: string name = 2;
824
+ */
825
+ name?: string;
826
+ };
827
+ /**
828
+ * Describes the message toshi.workspace.v1.GetImageRequest.
829
+ * Use `create(GetImageRequestSchema)` to create a new message.
830
+ */
831
+ export declare const GetImageRequestSchema: GenMessage<GetImageRequest, {
832
+ jsonType: GetImageRequestJson;
833
+ }>;
834
+ /**
835
+ * @generated from message toshi.workspace.v1.GetImageResponse
836
+ */
837
+ export type GetImageResponse = Message<"toshi.workspace.v1.GetImageResponse"> & {
838
+ /**
839
+ * @generated from field: toshi.workspace.v1.Image image = 1;
840
+ */
841
+ image?: Image | undefined;
842
+ /**
843
+ * Newest first.
844
+ *
845
+ * @generated from field: repeated toshi.workspace.v1.ImageVersion versions = 2;
846
+ */
847
+ versions: ImageVersion[];
848
+ };
849
+ /**
850
+ * @generated from message toshi.workspace.v1.GetImageResponse
851
+ */
852
+ export type GetImageResponseJson = {
853
+ /**
854
+ * @generated from field: toshi.workspace.v1.Image image = 1;
855
+ */
856
+ image?: ImageJson;
857
+ /**
858
+ * Newest first.
859
+ *
860
+ * @generated from field: repeated toshi.workspace.v1.ImageVersion versions = 2;
861
+ */
862
+ versions?: ImageVersionJson[];
863
+ };
864
+ /**
865
+ * Describes the message toshi.workspace.v1.GetImageResponse.
866
+ * Use `create(GetImageResponseSchema)` to create a new message.
867
+ */
868
+ export declare const GetImageResponseSchema: GenMessage<GetImageResponse, {
869
+ jsonType: GetImageResponseJson;
870
+ }>;
871
+ /**
872
+ * @generated from message toshi.workspace.v1.ListImagesRequest
873
+ */
874
+ export type ListImagesRequest = Message<"toshi.workspace.v1.ListImagesRequest"> & {
875
+ /**
876
+ * @generated from field: string project = 1;
877
+ */
878
+ project: string;
879
+ /**
880
+ * The most images in one page; zero lets the server choose.
881
+ *
882
+ * @generated from field: int32 page_size = 2;
883
+ */
884
+ pageSize: number;
885
+ /**
886
+ * From an earlier response's next_page_token; empty for the first page.
887
+ *
888
+ * @generated from field: string page_token = 3;
889
+ */
890
+ pageToken: string;
891
+ };
892
+ /**
893
+ * @generated from message toshi.workspace.v1.ListImagesRequest
894
+ */
895
+ export type ListImagesRequestJson = {
896
+ /**
897
+ * @generated from field: string project = 1;
898
+ */
899
+ project?: string;
900
+ /**
901
+ * The most images in one page; zero lets the server choose.
902
+ *
903
+ * @generated from field: int32 page_size = 2;
904
+ */
905
+ pageSize?: number;
906
+ /**
907
+ * From an earlier response's next_page_token; empty for the first page.
908
+ *
909
+ * @generated from field: string page_token = 3;
910
+ */
911
+ pageToken?: string;
912
+ };
913
+ /**
914
+ * Describes the message toshi.workspace.v1.ListImagesRequest.
915
+ * Use `create(ListImagesRequestSchema)` to create a new message.
916
+ */
917
+ export declare const ListImagesRequestSchema: GenMessage<ListImagesRequest, {
918
+ jsonType: ListImagesRequestJson;
919
+ }>;
920
+ /**
921
+ * @generated from message toshi.workspace.v1.ListImagesResponse
922
+ */
923
+ export type ListImagesResponse = Message<"toshi.workspace.v1.ListImagesResponse"> & {
924
+ /**
925
+ * @generated from field: repeated toshi.workspace.v1.Image images = 1;
926
+ */
927
+ images: Image[];
928
+ /**
929
+ * Empty on the last page.
930
+ *
931
+ * @generated from field: string next_page_token = 2;
932
+ */
933
+ nextPageToken: string;
934
+ };
935
+ /**
936
+ * @generated from message toshi.workspace.v1.ListImagesResponse
937
+ */
938
+ export type ListImagesResponseJson = {
939
+ /**
940
+ * @generated from field: repeated toshi.workspace.v1.Image images = 1;
941
+ */
942
+ images?: ImageJson[];
943
+ /**
944
+ * Empty on the last page.
945
+ *
946
+ * @generated from field: string next_page_token = 2;
947
+ */
948
+ nextPageToken?: string;
949
+ };
950
+ /**
951
+ * Describes the message toshi.workspace.v1.ListImagesResponse.
952
+ * Use `create(ListImagesResponseSchema)` to create a new message.
953
+ */
954
+ export declare const ListImagesResponseSchema: GenMessage<ListImagesResponse, {
955
+ jsonType: ListImagesResponseJson;
956
+ }>;
957
+ /**
958
+ * @generated from message toshi.workspace.v1.BuildImageRequest
959
+ */
960
+ export type BuildImageRequest = Message<"toshi.workspace.v1.BuildImageRequest"> & {
961
+ /**
962
+ * @generated from field: string project = 1;
963
+ */
964
+ project: string;
965
+ /**
966
+ * @generated from field: string name = 2;
967
+ */
968
+ name: string;
969
+ /**
970
+ * Empty: the image's recipe. Empty for a container image.
971
+ *
972
+ * @generated from field: string recipe = 3;
973
+ */
974
+ recipe: string;
975
+ /**
976
+ * A container image's Railpack builds use the Railpack version its
977
+ * newest ready version was built with; true builds with the one Toshi's
978
+ * build image holds. Unset for a disk image.
979
+ *
980
+ * @generated from field: bool update_builder = 4;
981
+ */
982
+ updateBuilder: boolean;
983
+ };
984
+ /**
985
+ * @generated from message toshi.workspace.v1.BuildImageRequest
986
+ */
987
+ export type BuildImageRequestJson = {
988
+ /**
989
+ * @generated from field: string project = 1;
990
+ */
991
+ project?: string;
992
+ /**
993
+ * @generated from field: string name = 2;
994
+ */
995
+ name?: string;
996
+ /**
997
+ * Empty: the image's recipe. Empty for a container image.
998
+ *
999
+ * @generated from field: string recipe = 3;
1000
+ */
1001
+ recipe?: string;
1002
+ /**
1003
+ * A container image's Railpack builds use the Railpack version its
1004
+ * newest ready version was built with; true builds with the one Toshi's
1005
+ * build image holds. Unset for a disk image.
1006
+ *
1007
+ * @generated from field: bool update_builder = 4;
1008
+ */
1009
+ updateBuilder?: boolean;
1010
+ };
1011
+ /**
1012
+ * Describes the message toshi.workspace.v1.BuildImageRequest.
1013
+ * Use `create(BuildImageRequestSchema)` to create a new message.
1014
+ */
1015
+ export declare const BuildImageRequestSchema: GenMessage<BuildImageRequest, {
1016
+ jsonType: BuildImageRequestJson;
1017
+ }>;
1018
+ /**
1019
+ * @generated from message toshi.workspace.v1.BuildImageResponse
1020
+ */
1021
+ export type BuildImageResponse = Message<"toshi.workspace.v1.BuildImageResponse"> & {
1022
+ /**
1023
+ * @generated from field: toshi.workspace.v1.ImageVersion version = 1;
1024
+ */
1025
+ version?: ImageVersion | undefined;
1026
+ };
1027
+ /**
1028
+ * @generated from message toshi.workspace.v1.BuildImageResponse
1029
+ */
1030
+ export type BuildImageResponseJson = {
1031
+ /**
1032
+ * @generated from field: toshi.workspace.v1.ImageVersion version = 1;
1033
+ */
1034
+ version?: ImageVersionJson;
1035
+ };
1036
+ /**
1037
+ * Describes the message toshi.workspace.v1.BuildImageResponse.
1038
+ * Use `create(BuildImageResponseSchema)` to create a new message.
1039
+ */
1040
+ export declare const BuildImageResponseSchema: GenMessage<BuildImageResponse, {
1041
+ jsonType: BuildImageResponseJson;
1042
+ }>;
1043
+ /**
1044
+ * @generated from message toshi.workspace.v1.UpdateImageRequest
1045
+ */
1046
+ export type UpdateImageRequest = Message<"toshi.workspace.v1.UpdateImageRequest"> & {
1047
+ /**
1048
+ * @generated from field: string project = 1;
1049
+ */
1050
+ project: string;
1051
+ /**
1052
+ * name names the image; the fields update_mask names carry the new
1053
+ * values.
1054
+ *
1055
+ * @generated from field: toshi.workspace.v1.Image image = 2;
1056
+ */
1057
+ image?: Image | undefined;
1058
+ /**
1059
+ * @generated from field: google.protobuf.FieldMask update_mask = 3;
1060
+ */
1061
+ updateMask?: FieldMask | undefined;
1062
+ };
1063
+ /**
1064
+ * @generated from message toshi.workspace.v1.UpdateImageRequest
1065
+ */
1066
+ export type UpdateImageRequestJson = {
1067
+ /**
1068
+ * @generated from field: string project = 1;
1069
+ */
1070
+ project?: string;
1071
+ /**
1072
+ * name names the image; the fields update_mask names carry the new
1073
+ * values.
1074
+ *
1075
+ * @generated from field: toshi.workspace.v1.Image image = 2;
1076
+ */
1077
+ image?: ImageJson;
1078
+ /**
1079
+ * @generated from field: google.protobuf.FieldMask update_mask = 3;
1080
+ */
1081
+ updateMask?: FieldMaskJson;
1082
+ };
1083
+ /**
1084
+ * Describes the message toshi.workspace.v1.UpdateImageRequest.
1085
+ * Use `create(UpdateImageRequestSchema)` to create a new message.
1086
+ */
1087
+ export declare const UpdateImageRequestSchema: GenMessage<UpdateImageRequest, {
1088
+ jsonType: UpdateImageRequestJson;
1089
+ }>;
1090
+ /**
1091
+ * @generated from message toshi.workspace.v1.UpdateImageResponse
1092
+ */
1093
+ export type UpdateImageResponse = Message<"toshi.workspace.v1.UpdateImageResponse"> & {
1094
+ /**
1095
+ * @generated from field: toshi.workspace.v1.Image image = 1;
1096
+ */
1097
+ image?: Image | undefined;
1098
+ };
1099
+ /**
1100
+ * @generated from message toshi.workspace.v1.UpdateImageResponse
1101
+ */
1102
+ export type UpdateImageResponseJson = {
1103
+ /**
1104
+ * @generated from field: toshi.workspace.v1.Image image = 1;
1105
+ */
1106
+ image?: ImageJson;
1107
+ };
1108
+ /**
1109
+ * Describes the message toshi.workspace.v1.UpdateImageResponse.
1110
+ * Use `create(UpdateImageResponseSchema)` to create a new message.
1111
+ */
1112
+ export declare const UpdateImageResponseSchema: GenMessage<UpdateImageResponse, {
1113
+ jsonType: UpdateImageResponseJson;
1114
+ }>;
1115
+ /**
1116
+ * @generated from message toshi.workspace.v1.DeleteImageRequest
1117
+ */
1118
+ export type DeleteImageRequest = Message<"toshi.workspace.v1.DeleteImageRequest"> & {
1119
+ /**
1120
+ * @generated from field: string project = 1;
1121
+ */
1122
+ project: string;
1123
+ /**
1124
+ * @generated from field: string name = 2;
1125
+ */
1126
+ name: string;
1127
+ };
1128
+ /**
1129
+ * @generated from message toshi.workspace.v1.DeleteImageRequest
1130
+ */
1131
+ export type DeleteImageRequestJson = {
1132
+ /**
1133
+ * @generated from field: string project = 1;
1134
+ */
1135
+ project?: string;
1136
+ /**
1137
+ * @generated from field: string name = 2;
1138
+ */
1139
+ name?: string;
1140
+ };
1141
+ /**
1142
+ * Describes the message toshi.workspace.v1.DeleteImageRequest.
1143
+ * Use `create(DeleteImageRequestSchema)` to create a new message.
1144
+ */
1145
+ export declare const DeleteImageRequestSchema: GenMessage<DeleteImageRequest, {
1146
+ jsonType: DeleteImageRequestJson;
1147
+ }>;
1148
+ /**
1149
+ * @generated from message toshi.workspace.v1.DeleteImageResponse
1150
+ */
1151
+ export type DeleteImageResponse = Message<"toshi.workspace.v1.DeleteImageResponse"> & {};
1152
+ /**
1153
+ * @generated from message toshi.workspace.v1.DeleteImageResponse
1154
+ */
1155
+ export type DeleteImageResponseJson = {};
1156
+ /**
1157
+ * Describes the message toshi.workspace.v1.DeleteImageResponse.
1158
+ * Use `create(DeleteImageResponseSchema)` to create a new message.
1159
+ */
1160
+ export declare const DeleteImageResponseSchema: GenMessage<DeleteImageResponse, {
1161
+ jsonType: DeleteImageResponseJson;
1162
+ }>;
1163
+ /**
1164
+ * ImageKind is what an image is.
1165
+ *
1166
+ * @generated from enum toshi.workspace.v1.ImageKind
1167
+ */
1168
+ export declare enum ImageKind {
1169
+ /**
1170
+ * @generated from enum value: IMAGE_KIND_UNSPECIFIED = 0;
1171
+ */
1172
+ UNSPECIFIED = 0,
1173
+ /**
1174
+ * A disk: an overlay on one of Toshi's bases, which a VM boots from.
1175
+ *
1176
+ * @generated from enum value: IMAGE_KIND_DISK = 1;
1177
+ */
1178
+ DISK = 1,
1179
+ /**
1180
+ * A container image, in the deployment's container registry at
1181
+ * <workspace id>/<name>. It has no base or recipe. One with a source is
1182
+ * built from that repository; one without is pushed and not built.
1183
+ *
1184
+ * @generated from enum value: IMAGE_KIND_CONTAINER = 2;
1185
+ */
1186
+ CONTAINER = 2
1187
+ }
1188
+ /**
1189
+ * ImageKind is what an image is.
1190
+ *
1191
+ * @generated from enum toshi.workspace.v1.ImageKind
1192
+ */
1193
+ export type ImageKindJson = "IMAGE_KIND_UNSPECIFIED" | "IMAGE_KIND_DISK" | "IMAGE_KIND_CONTAINER";
1194
+ /**
1195
+ * Describes the enum toshi.workspace.v1.ImageKind.
1196
+ */
1197
+ export declare const ImageKindSchema: GenEnum<ImageKind, ImageKindJson>;
1198
+ /**
1199
+ * ImageBuilder is what builds a container image from its source.
1200
+ *
1201
+ * @generated from enum toshi.workspace.v1.ImageBuilder
1202
+ */
1203
+ export declare enum ImageBuilder {
1204
+ /**
1205
+ * @generated from enum value: IMAGE_BUILDER_UNSPECIFIED = 0;
1206
+ */
1207
+ UNSPECIFIED = 0,
1208
+ /**
1209
+ * The repository's Dockerfile when its root has one, Railpack
1210
+ * otherwise. A version records the one that built it.
1211
+ *
1212
+ * @generated from enum value: IMAGE_BUILDER_AUTO = 1;
1213
+ */
1214
+ AUTO = 1,
1215
+ /**
1216
+ * The Dockerfile at the repository's root.
1217
+ *
1218
+ * @generated from enum value: IMAGE_BUILDER_DOCKERFILE = 2;
1219
+ */
1220
+ DOCKERFILE = 2,
1221
+ /**
1222
+ * Railpack, which builds from the repository's source alone.
1223
+ *
1224
+ * @generated from enum value: IMAGE_BUILDER_RAILPACK = 3;
1225
+ */
1226
+ RAILPACK = 3
1227
+ }
1228
+ /**
1229
+ * ImageBuilder is what builds a container image from its source.
1230
+ *
1231
+ * @generated from enum toshi.workspace.v1.ImageBuilder
1232
+ */
1233
+ export type ImageBuilderJson = "IMAGE_BUILDER_UNSPECIFIED" | "IMAGE_BUILDER_AUTO" | "IMAGE_BUILDER_DOCKERFILE" | "IMAGE_BUILDER_RAILPACK";
1234
+ /**
1235
+ * Describes the enum toshi.workspace.v1.ImageBuilder.
1236
+ */
1237
+ export declare const ImageBuilderSchema: GenEnum<ImageBuilder, ImageBuilderJson>;
1238
+ /**
1239
+ * ImagePusher is what pushed a container image's version.
1240
+ *
1241
+ * @generated from enum toshi.workspace.v1.ImagePusher
1242
+ */
1243
+ export declare enum ImagePusher {
1244
+ /**
1245
+ * @generated from enum value: IMAGE_PUSHER_UNSPECIFIED = 0;
1246
+ */
1247
+ UNSPECIFIED = 0,
1248
+ /**
1249
+ * A build of the image.
1250
+ *
1251
+ * @generated from enum value: IMAGE_PUSHER_BUILD = 1;
1252
+ */
1253
+ BUILD = 1,
1254
+ /**
1255
+ * A push to the deployment's registry by a person or a pipeline, found
1256
+ * there by Toshi within about a minute.
1257
+ *
1258
+ * @generated from enum value: IMAGE_PUSHER_HAND = 2;
1259
+ */
1260
+ HAND = 2
1261
+ }
1262
+ /**
1263
+ * ImagePusher is what pushed a container image's version.
1264
+ *
1265
+ * @generated from enum toshi.workspace.v1.ImagePusher
1266
+ */
1267
+ export type ImagePusherJson = "IMAGE_PUSHER_UNSPECIFIED" | "IMAGE_PUSHER_BUILD" | "IMAGE_PUSHER_HAND";
1268
+ /**
1269
+ * Describes the enum toshi.workspace.v1.ImagePusher.
1270
+ */
1271
+ export declare const ImagePusherSchema: GenEnum<ImagePusher, ImagePusherJson>;
1272
+ /**
1273
+ * ImageVersionState is where a version is in its life.
1274
+ *
1275
+ * @generated from enum toshi.workspace.v1.ImageVersionState
1276
+ */
1277
+ export declare enum ImageVersionState {
1278
+ /**
1279
+ * @generated from enum value: IMAGE_VERSION_STATE_UNSPECIFIED = 0;
1280
+ */
1281
+ UNSPECIFIED = 0,
1282
+ /**
1283
+ * Its build job runs.
1284
+ *
1285
+ * @generated from enum value: IMAGE_VERSION_STATE_BUILDING = 1;
1286
+ */
1287
+ BUILDING = 1,
1288
+ /**
1289
+ * Its build did not finish; nothing of it is stored and no workload
1290
+ * starts from it. The image is unchanged.
1291
+ *
1292
+ * @generated from enum value: IMAGE_VERSION_STATE_FAILED = 2;
1293
+ */
1294
+ FAILED = 2,
1295
+ /**
1296
+ * Stored: a workload that names the image starts from the newest one.
1297
+ *
1298
+ * @generated from enum value: IMAGE_VERSION_STATE_READY = 3;
1299
+ */
1300
+ READY = 3,
1301
+ /**
1302
+ * Neither one of the newest ready versions the retention rule keeps nor
1303
+ * in use: its overlay is deleted at delete_after.
1304
+ *
1305
+ * @generated from enum value: IMAGE_VERSION_STATE_PENDING_DELETION = 4;
1306
+ */
1307
+ PENDING_DELETION = 4,
1308
+ /**
1309
+ * Its overlay is deleted.
1310
+ *
1311
+ * @generated from enum value: IMAGE_VERSION_STATE_DELETED = 5;
1312
+ */
1313
+ DELETED = 5
1314
+ }
1315
+ /**
1316
+ * ImageVersionState is where a version is in its life.
1317
+ *
1318
+ * @generated from enum toshi.workspace.v1.ImageVersionState
1319
+ */
1320
+ export type ImageVersionStateJson = "IMAGE_VERSION_STATE_UNSPECIFIED" | "IMAGE_VERSION_STATE_BUILDING" | "IMAGE_VERSION_STATE_FAILED" | "IMAGE_VERSION_STATE_READY" | "IMAGE_VERSION_STATE_PENDING_DELETION" | "IMAGE_VERSION_STATE_DELETED";
1321
+ /**
1322
+ * Describes the enum toshi.workspace.v1.ImageVersionState.
1323
+ */
1324
+ export declare const ImageVersionStateSchema: GenEnum<ImageVersionState, ImageVersionStateJson>;
1325
+ /**
1326
+ * ImageService keeps a project's own images. A disk image is built on one
1327
+ * of Toshi's bases, at one size, from a recipe in the format services use:
1328
+ * a fresh VM of the base runs the recipe's setup hook once, and the VM's
1329
+ * disk becomes the image's next version, an overlay on that base. A
1330
+ * workload names an image to start from its newest ready version.
1331
+ *
1332
+ * The caller's credential names the workspace, as for WorkloadService.
1333
+ * Every request names a project; an empty one is the default project. A
1334
+ * project the workspace does not have is NOT_FOUND, and so is an image of
1335
+ * another project. With a token limited to one project, any other project
1336
+ * is PERMISSION_DENIED, whether the workspace has it or not.
1337
+ *
1338
+ * An image's name is unique among the workspace's images that are not
1339
+ * deleted, in every project, since a CI job names an image by the runner
1340
+ * label toshi-image-<name>. A name is lower-case letters, digits and
1341
+ * hyphens, starts and ends with a letter or a digit, and is at most 51
1342
+ * characters, so that the label is at most 63.
1343
+ *
1344
+ * Versions are kept by a retention rule. An image keeps its newest ready
1345
+ * versions, 3 unless the control plane or the workspace's plan sets
1346
+ * another number, and any version in use: one a workload that started
1347
+ * from it and has not ended runs on, or one a service revision a rollback
1348
+ * may select was made with. Any other ready version is pending deletion
1349
+ * for 7 days unless the control plane or the plan sets another time, then
1350
+ * its overlay is deleted. A service revision whose version is
1351
+ * pending deletion or deleted cannot be selected by a rollback.
1352
+ *
1353
+ * Creating an image needs a plan that allows images; a workspace whose
1354
+ * plan does not fails with FAILED_PRECONDITION and the reason
1355
+ * PLAN_EXCLUDES_IMAGES. CreateImage takes a request_key; the other calls
1356
+ * take none.
1357
+ *
1358
+ * @generated from service toshi.workspace.v1.ImageService
1359
+ */
1360
+ export declare const ImageService: GenService<{
1361
+ /**
1362
+ * CreateImage creates the image. A name another live image of the
1363
+ * workspace has fails with ALREADY_EXISTS and the reason
1364
+ * IMAGE_NAME_TAKEN. A base that is not one of Toshi's, a size that is
1365
+ * not a Linux size, or a recipe without a setup hook or with a field an
1366
+ * image does not use, fails with INVALID_ARGUMENT. A container image
1367
+ * that is pushed takes a name and its kind alone; one with a base, size
1368
+ * or recipe fails with INVALID_ARGUMENT.
1369
+ *
1370
+ * A container image built from a repository takes its source, a Linux
1371
+ * size and, optionally, a builder and a registry to push to; one with a
1372
+ * base, a recipe or an environment fails with INVALID_ARGUMENT, as its
1373
+ * builds take the environment the project's branch rules choose for the
1374
+ * source's default branch. A source the project does not claim, or that
1375
+ * none of the workspace's GitHub connections reaches, fails with
1376
+ * FAILED_PRECONDITION.
1377
+ *
1378
+ * Creating a disk image, or a container image built from a repository,
1379
+ * starts its first build, as BuildImage does; the response's version is
1380
+ * that build's. A workspace whose plan
1381
+ * does not include images fails with FAILED_PRECONDITION and the reason
1382
+ * PLAN_EXCLUDES_IMAGES.
1383
+ *
1384
+ * @generated from rpc toshi.workspace.v1.ImageService.CreateImage
1385
+ */
1386
+ createImage: {
1387
+ methodKind: "unary";
1388
+ input: typeof CreateImageRequestSchema;
1389
+ output: typeof CreateImageResponseSchema;
1390
+ };
1391
+ /**
1392
+ * BuildImage starts a build of the image. A disk image's build is a job
1393
+ * that runs the recipe's setup hook in a fresh VM of the base and saves
1394
+ * its disk as the next version; a recipe in the request is the build's,
1395
+ * and becomes the image's when the version is ready. A container image's
1396
+ * build is a job that builds the tip of its source's default branch in a
1397
+ * fresh VM and pushes it; the version is ready with the pushed digest.
1398
+ * An image with a build in progress fails with FAILED_PRECONDITION and
1399
+ * the reason IMAGE_BUILD_IN_PROGRESS, and a container image that is
1400
+ * pushed rather than built, with FAILED_PRECONDITION.
1401
+ *
1402
+ * @generated from rpc toshi.workspace.v1.ImageService.BuildImage
1403
+ */
1404
+ buildImage: {
1405
+ methodKind: "unary";
1406
+ input: typeof BuildImageRequestSchema;
1407
+ output: typeof BuildImageResponseSchema;
1408
+ };
1409
+ /**
1410
+ * UpdateImage sets the fields of the image that update_mask names; the
1411
+ * request's image names it by its name. The one field it sets is
1412
+ * rebuild_on_push, of a container image built from a repository: an
1413
+ * unset update_mask sets it to the image's value, and an empty one, "*"
1414
+ * or a path of another field is INVALID_ARGUMENT. A
1415
+ * disk image or a container image that is pushed is FAILED_PRECONDITION.
1416
+ * Turning rebuild_on_push on needs what BuildImage needs of the image:
1417
+ * a source its project claims, and a call that reaches the environment
1418
+ * the branch rules choose for the source's default branch.
1419
+ *
1420
+ * @generated from rpc toshi.workspace.v1.ImageService.UpdateImage
1421
+ */
1422
+ updateImage: {
1423
+ methodKind: "unary";
1424
+ input: typeof UpdateImageRequestSchema;
1425
+ output: typeof UpdateImageResponseSchema;
1426
+ };
1427
+ /**
1428
+ * GetImage returns the image with its versions, newest first.
1429
+ *
1430
+ * @generated from rpc toshi.workspace.v1.ImageService.GetImage
1431
+ */
1432
+ getImage: {
1433
+ methodKind: "unary";
1434
+ input: typeof GetImageRequestSchema;
1435
+ output: typeof GetImageResponseSchema;
1436
+ };
1437
+ /**
1438
+ * ListImages returns the project's images that are not deleted, ordered
1439
+ * by name, each with its newest ready version.
1440
+ *
1441
+ * A page holds 100 images when page_size is zero, and 1000 at most.
1442
+ *
1443
+ * @generated from rpc toshi.workspace.v1.ImageService.ListImages
1444
+ */
1445
+ listImages: {
1446
+ methodKind: "unary";
1447
+ input: typeof ListImagesRequestSchema;
1448
+ output: typeof ListImagesResponseSchema;
1449
+ };
1450
+ /**
1451
+ * DeleteImage deletes the image and frees its name. Its versions are
1452
+ * pending deletion at once, with no 7-day wait, and their overlays are
1453
+ * deleted soon after. An image with a version in use fails with
1454
+ * FAILED_PRECONDITION and the reason IMAGE_IN_USE, naming what uses it.
1455
+ *
1456
+ * @generated from rpc toshi.workspace.v1.ImageService.DeleteImage
1457
+ */
1458
+ deleteImage: {
1459
+ methodKind: "unary";
1460
+ input: typeof DeleteImageRequestSchema;
1461
+ output: typeof DeleteImageResponseSchema;
1462
+ };
1463
+ }>;