@toshicloud/sdk 0.5.0 → 0.6.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 (76) hide show
  1. package/README.md +138 -41
  2. package/dist/client.d.ts +103 -4
  3. package/dist/client.js +43 -4
  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 +1616 -0
  17. package/dist/gen/toshi/workspace/v1/connections_pb.js +224 -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 +329 -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 +2069 -54
  55. package/dist/gen/toshi/workspace/v1/workloads_pb.js +204 -54
  56. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +6634 -933
  57. package/dist/gen/toshi/workspace/v1/workspace_pb.js +912 -93
  58. package/dist/gen/toshi/workspace/v1/workspace_service_pb.d.ts +3209 -1378
  59. package/dist/gen/toshi/workspace/v1/workspace_service_pb.js +211 -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 +230 -23
  66. package/dist/test/alarms.d.ts +29 -0
  67. package/dist/test/alarms.js +144 -0
  68. package/dist/test/fake.js +31 -0
  69. package/dist/test/index.d.ts +12 -2
  70. package/dist/test/index.js +12 -2
  71. package/dist/test/procedures.js +96 -5
  72. package/dist/version.d.ts +1 -1
  73. package/dist/version.js +1 -1
  74. package/dist/wait.d.ts +4 -0
  75. package/dist/wait.js +24 -1
  76. package/package.json +3 -2
@@ -1,11 +1,297 @@
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";
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Duration, DurationJson, FieldMask, FieldMaskJson, Timestamp, TimestampJson } from "@bufbuild/protobuf/wkt";
3
+ import type { AnswerServiceSignInRequestSchema, AnswerServiceSignInResponseSchema, BoundBinding, BoundBindingJson, CancelExecutionRequestSchema, CancelExecutionResponseSchema, CancelServiceSignInRequestSchema, CancelServiceSignInResponseSchema, CreatePreviewShareLinkRequestSchema, CreatePreviewShareLinkResponseSchema, CreateServiceShareLinkRequestSchema, CreateServiceShareLinkResponseSchema, Event, EventJson, EventType, EventTypeJson, ExecuteCommandRequestSchema, ExecuteCommandResponseSchema, ExecuteRequestSchema, ExecuteResponseSchema, GetOperationRequestSchema, GetOperationResponseSchema, GetServiceRevisionRequestSchema, GetServiceRevisionResponseSchema, GetServiceSignInStatusRequestSchema, GetServiceSignInStatusResponseSchema, HoldServiceRequestSchema, HoldServiceResponseSchema, HoldWorkloadRequestSchema, HoldWorkloadResponseSchema, Job, JobAttempt, JobAttemptJson, JobJson, JobSpec, JobSpecJson, JobState, JobStateJson, Keepalive, KeepaliveJson, ListEventsRequestSchema, ListEventsResponseSchema, ListPreviewShareLinksRequestSchema, ListPreviewShareLinksResponseSchema, ListServiceActivationsRequestSchema, ListServiceActivationsResponseSchema, ListServiceRevisionsRequestSchema, ListServiceRevisionsResponseSchema, ListServiceRunsRequestSchema, ListServiceRunsResponseSchema, ListServiceShareLinksRequestSchema, ListServiceShareLinksResponseSchema, Operation, OperationJson, Output, OutputJson, RecordingPolicy, RecordingPolicyJson, ReleaseServiceRequestSchema, ReleaseServiceResponseSchema, ReleaseWorkloadRequestSchema, ReleaseWorkloadResponseSchema, RevokePreviewShareLinkRequestSchema, RevokePreviewShareLinkResponseSchema, RevokeServiceShareLinkRequestSchema, RevokeServiceShareLinkResponseSchema, RollbackServiceRequestSchema, RollbackServiceResponseSchema, Sandbox, SandboxJson, SandboxSpec, SandboxSpecJson, SandboxState, SandboxStateJson, Service, ServiceJson, ServiceSpec, ServiceSpecJson, ServiceState, ServiceStateJson, SetServiceModeRequestSchema, SetServiceModeResponseSchema, StartSandboxRequestSchema, StartSandboxResponseSchema, StartServiceRequestSchema, StartServiceResponseSchema, StartServiceSignInRequestSchema, StartServiceSignInResponseSchema, StopSandboxRequestSchema, StopSandboxResponseSchema, StopServiceRequestSchema, StopServiceResponseSchema, WaitOperationRequestSchema, WaitOperationResponseSchema, WakeServiceRequestSchema, WakeServiceResponseSchema, WatchEventsRequestSchema, WatchEventsResponseSchema, WatchGuestLogRequestSchema, WatchGuestLogResponseSchema, WatchOutputRequestSchema, WatchOutputResponseSchema, WatchTelemetryRequestSchema, WatchTelemetryResponseSchema } from "./workspace_pb.js";
4
4
  import type { Message } from "@bufbuild/protobuf";
5
5
  /**
6
6
  * Describes the file toshi/workspace/v1/workloads.proto.
7
7
  */
8
8
  export declare const file_toshi_workspace_v1_workloads: GenFile;
9
+ /**
10
+ * @generated from message toshi.workspace.v1.AnswerPromptRequest
11
+ */
12
+ export type AnswerPromptRequest = Message<"toshi.workspace.v1.AnswerPromptRequest"> & {
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
+ * The job, sandbox or service whose prompt is answered.
23
+ *
24
+ * @generated from field: string workload_id = 3;
25
+ */
26
+ workloadId: string;
27
+ /**
28
+ * The prompt's id, as its waiting entry gives it.
29
+ *
30
+ * @generated from field: string prompt_id = 4;
31
+ */
32
+ promptId: string;
33
+ /**
34
+ * @generated from field: string answer = 5;
35
+ */
36
+ answer: string;
37
+ };
38
+ /**
39
+ * @generated from message toshi.workspace.v1.AnswerPromptRequest
40
+ */
41
+ export type AnswerPromptRequestJson = {
42
+ /**
43
+ * @generated from field: string project = 1;
44
+ */
45
+ project?: string;
46
+ /**
47
+ * @generated from field: string environment = 2;
48
+ */
49
+ environment?: string;
50
+ /**
51
+ * The job, sandbox or service whose prompt is answered.
52
+ *
53
+ * @generated from field: string workload_id = 3;
54
+ */
55
+ workloadId?: string;
56
+ /**
57
+ * The prompt's id, as its waiting entry gives it.
58
+ *
59
+ * @generated from field: string prompt_id = 4;
60
+ */
61
+ promptId?: string;
62
+ /**
63
+ * @generated from field: string answer = 5;
64
+ */
65
+ answer?: string;
66
+ };
67
+ /**
68
+ * Describes the message toshi.workspace.v1.AnswerPromptRequest.
69
+ * Use `create(AnswerPromptRequestSchema)` to create a new message.
70
+ */
71
+ export declare const AnswerPromptRequestSchema: GenMessage<AnswerPromptRequest, {
72
+ jsonType: AnswerPromptRequestJson;
73
+ }>;
74
+ /**
75
+ * @generated from message toshi.workspace.v1.AnswerPromptResponse
76
+ */
77
+ export type AnswerPromptResponse = Message<"toshi.workspace.v1.AnswerPromptResponse"> & {
78
+ /**
79
+ * The AGENT_ANSWERED event.
80
+ *
81
+ * @generated from field: toshi.workspace.v1.Event event = 1;
82
+ */
83
+ event?: Event | undefined;
84
+ };
85
+ /**
86
+ * @generated from message toshi.workspace.v1.AnswerPromptResponse
87
+ */
88
+ export type AnswerPromptResponseJson = {
89
+ /**
90
+ * The AGENT_ANSWERED event.
91
+ *
92
+ * @generated from field: toshi.workspace.v1.Event event = 1;
93
+ */
94
+ event?: EventJson;
95
+ };
96
+ /**
97
+ * Describes the message toshi.workspace.v1.AnswerPromptResponse.
98
+ * Use `create(AnswerPromptResponseSchema)` to create a new message.
99
+ */
100
+ export declare const AnswerPromptResponseSchema: GenMessage<AnswerPromptResponse, {
101
+ jsonType: AnswerPromptResponseJson;
102
+ }>;
103
+ /**
104
+ * @generated from message toshi.workspace.v1.EmitWorkloadEventRequest
105
+ */
106
+ export type EmitWorkloadEventRequest = Message<"toshi.workspace.v1.EmitWorkloadEventRequest"> & {
107
+ /**
108
+ * @generated from field: string project = 1;
109
+ */
110
+ project: string;
111
+ /**
112
+ * @generated from field: string environment = 2;
113
+ */
114
+ environment: string;
115
+ /**
116
+ * The job, sandbox or service the event is about.
117
+ *
118
+ * @generated from field: string workload_id = 3;
119
+ */
120
+ workloadId: string;
121
+ /**
122
+ * @generated from field: string name = 4;
123
+ */
124
+ name: string;
125
+ /**
126
+ * JSON, at most 64 KiB; empty for none.
127
+ *
128
+ * @generated from field: bytes data = 5;
129
+ */
130
+ data: Uint8Array;
131
+ };
132
+ /**
133
+ * @generated from message toshi.workspace.v1.EmitWorkloadEventRequest
134
+ */
135
+ export type EmitWorkloadEventRequestJson = {
136
+ /**
137
+ * @generated from field: string project = 1;
138
+ */
139
+ project?: string;
140
+ /**
141
+ * @generated from field: string environment = 2;
142
+ */
143
+ environment?: string;
144
+ /**
145
+ * The job, sandbox or service the event is about.
146
+ *
147
+ * @generated from field: string workload_id = 3;
148
+ */
149
+ workloadId?: string;
150
+ /**
151
+ * @generated from field: string name = 4;
152
+ */
153
+ name?: string;
154
+ /**
155
+ * JSON, at most 64 KiB; empty for none.
156
+ *
157
+ * @generated from field: bytes data = 5;
158
+ */
159
+ data?: string;
160
+ };
161
+ /**
162
+ * Describes the message toshi.workspace.v1.EmitWorkloadEventRequest.
163
+ * Use `create(EmitWorkloadEventRequestSchema)` to create a new message.
164
+ */
165
+ export declare const EmitWorkloadEventRequestSchema: GenMessage<EmitWorkloadEventRequest, {
166
+ jsonType: EmitWorkloadEventRequestJson;
167
+ }>;
168
+ /**
169
+ * @generated from message toshi.workspace.v1.EmitWorkloadEventResponse
170
+ */
171
+ export type EmitWorkloadEventResponse = Message<"toshi.workspace.v1.EmitWorkloadEventResponse"> & {
172
+ /**
173
+ * The EMITTED event as stored.
174
+ *
175
+ * @generated from field: toshi.workspace.v1.Event event = 1;
176
+ */
177
+ event?: Event | undefined;
178
+ };
179
+ /**
180
+ * @generated from message toshi.workspace.v1.EmitWorkloadEventResponse
181
+ */
182
+ export type EmitWorkloadEventResponseJson = {
183
+ /**
184
+ * The EMITTED event as stored.
185
+ *
186
+ * @generated from field: toshi.workspace.v1.Event event = 1;
187
+ */
188
+ event?: EventJson;
189
+ };
190
+ /**
191
+ * Describes the message toshi.workspace.v1.EmitWorkloadEventResponse.
192
+ * Use `create(EmitWorkloadEventResponseSchema)` to create a new message.
193
+ */
194
+ export declare const EmitWorkloadEventResponseSchema: GenMessage<EmitWorkloadEventResponse, {
195
+ jsonType: EmitWorkloadEventResponseJson;
196
+ }>;
197
+ /**
198
+ * @generated from message toshi.workspace.v1.ExportEventsRequest
199
+ */
200
+ export type ExportEventsRequest = Message<"toshi.workspace.v1.ExportEventsRequest"> & {
201
+ /**
202
+ * @generated from field: string project = 1;
203
+ */
204
+ project: string;
205
+ /**
206
+ * @generated from field: string environment = 2;
207
+ */
208
+ environment: string;
209
+ /**
210
+ * @generated from field: string workload_id = 3;
211
+ */
212
+ workloadId: string;
213
+ /**
214
+ * @generated from field: google.protobuf.Timestamp since = 4;
215
+ */
216
+ since?: Timestamp | undefined;
217
+ /**
218
+ * @generated from field: google.protobuf.Timestamp until = 5;
219
+ */
220
+ until?: Timestamp | undefined;
221
+ /**
222
+ * @generated from field: string cursor = 6;
223
+ */
224
+ cursor: string;
225
+ };
226
+ /**
227
+ * @generated from message toshi.workspace.v1.ExportEventsRequest
228
+ */
229
+ export type ExportEventsRequestJson = {
230
+ /**
231
+ * @generated from field: string project = 1;
232
+ */
233
+ project?: string;
234
+ /**
235
+ * @generated from field: string environment = 2;
236
+ */
237
+ environment?: string;
238
+ /**
239
+ * @generated from field: string workload_id = 3;
240
+ */
241
+ workloadId?: string;
242
+ /**
243
+ * @generated from field: google.protobuf.Timestamp since = 4;
244
+ */
245
+ since?: TimestampJson;
246
+ /**
247
+ * @generated from field: google.protobuf.Timestamp until = 5;
248
+ */
249
+ until?: TimestampJson;
250
+ /**
251
+ * @generated from field: string cursor = 6;
252
+ */
253
+ cursor?: string;
254
+ };
255
+ /**
256
+ * Describes the message toshi.workspace.v1.ExportEventsRequest.
257
+ * Use `create(ExportEventsRequestSchema)` to create a new message.
258
+ */
259
+ export declare const ExportEventsRequestSchema: GenMessage<ExportEventsRequest, {
260
+ jsonType: ExportEventsRequestJson;
261
+ }>;
262
+ /**
263
+ * @generated from message toshi.workspace.v1.ExportEventsResponse
264
+ */
265
+ export type ExportEventsResponse = Message<"toshi.workspace.v1.ExportEventsResponse"> & {
266
+ /**
267
+ * @generated from field: bytes data = 1;
268
+ */
269
+ data: Uint8Array;
270
+ /**
271
+ * @generated from field: string cursor = 2;
272
+ */
273
+ cursor: string;
274
+ };
275
+ /**
276
+ * @generated from message toshi.workspace.v1.ExportEventsResponse
277
+ */
278
+ export type ExportEventsResponseJson = {
279
+ /**
280
+ * @generated from field: bytes data = 1;
281
+ */
282
+ data?: string;
283
+ /**
284
+ * @generated from field: string cursor = 2;
285
+ */
286
+ cursor?: string;
287
+ };
288
+ /**
289
+ * Describes the message toshi.workspace.v1.ExportEventsResponse.
290
+ * Use `create(ExportEventsResponseSchema)` to create a new message.
291
+ */
292
+ export declare const ExportEventsResponseSchema: GenMessage<ExportEventsResponse, {
293
+ jsonType: ExportEventsResponseJson;
294
+ }>;
9
295
  /**
10
296
  * @generated from message toshi.workspace.v1.CreateJobRequest
11
297
  */
@@ -192,6 +478,13 @@ export type GetJobResponse = Message<"toshi.workspace.v1.GetJobResponse"> & {
192
478
  * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
193
479
  */
194
480
  bound: BoundBinding[];
481
+ /**
482
+ * The job's attempts, oldest first: one for each assignment to a
483
+ * runner, the current one last while the job holds it.
484
+ *
485
+ * @generated from field: repeated toshi.workspace.v1.JobAttempt attempts = 3;
486
+ */
487
+ attempts: JobAttempt[];
195
488
  };
196
489
  /**
197
490
  * @generated from message toshi.workspace.v1.GetJobResponse
@@ -208,6 +501,13 @@ export type GetJobResponseJson = {
208
501
  * @generated from field: repeated toshi.workspace.v1.BoundBinding bound = 2;
209
502
  */
210
503
  bound?: BoundBindingJson[];
504
+ /**
505
+ * The job's attempts, oldest first: one for each assignment to a
506
+ * runner, the current one last while the job holds it.
507
+ *
508
+ * @generated from field: repeated toshi.workspace.v1.JobAttempt attempts = 3;
509
+ */
510
+ attempts?: JobAttemptJson[];
211
511
  };
212
512
  /**
213
513
  * Describes the message toshi.workspace.v1.GetJobResponse.
@@ -853,8 +1153,8 @@ export type CreateSandboxRequest = Message<"toshi.workspace.v1.CreateSandboxRequ
853
1153
  */
854
1154
  requestKey: string;
855
1155
  /**
856
- * What the sandbox records of its runs: UNSPECIFIED or OFF. STRIP and
857
- * VIDEO are a job's, and fail with INVALID_ARGUMENT.
1156
+ * What the sandbox records of its runs: UNSPECIFIED, OFF or STRIP. VIDEO
1157
+ * is a job's, and fails with INVALID_ARGUMENT.
858
1158
  *
859
1159
  * @generated from field: toshi.workspace.v1.RecordingPolicy recording = 6;
860
1160
  */
@@ -889,8 +1189,8 @@ export type CreateSandboxRequestJson = {
889
1189
  */
890
1190
  requestKey?: string;
891
1191
  /**
892
- * What the sandbox records of its runs: UNSPECIFIED or OFF. STRIP and
893
- * VIDEO are a job's, and fail with INVALID_ARGUMENT.
1192
+ * What the sandbox records of its runs: UNSPECIFIED, OFF or STRIP. VIDEO
1193
+ * is a job's, and fails with INVALID_ARGUMENT.
894
1194
  *
895
1195
  * @generated from field: toshi.workspace.v1.RecordingPolicy recording = 6;
896
1196
  */
@@ -944,6 +1244,14 @@ export type GetSandboxRequest = Message<"toshi.workspace.v1.GetSandboxRequest">
944
1244
  * @generated from field: string id = 3;
945
1245
  */
946
1246
  id: string;
1247
+ /**
1248
+ * A grant the caller's workspace received, to act on the owner's
1249
+ * sandbox through it (docs/grants.md); project and environment are then
1250
+ * left empty.
1251
+ *
1252
+ * @generated from field: string grant = 4;
1253
+ */
1254
+ grant: string;
947
1255
  };
948
1256
  /**
949
1257
  * @generated from message toshi.workspace.v1.GetSandboxRequest
@@ -961,6 +1269,14 @@ export type GetSandboxRequestJson = {
961
1269
  * @generated from field: string id = 3;
962
1270
  */
963
1271
  id?: string;
1272
+ /**
1273
+ * A grant the caller's workspace received, to act on the owner's
1274
+ * sandbox through it (docs/grants.md); project and environment are then
1275
+ * left empty.
1276
+ *
1277
+ * @generated from field: string grant = 4;
1278
+ */
1279
+ grant?: string;
964
1280
  };
965
1281
  /**
966
1282
  * Describes the message toshi.workspace.v1.GetSandboxRequest.
@@ -1047,6 +1363,14 @@ export type ListSandboxesRequest = Message<"toshi.workspace.v1.ListSandboxesRequ
1047
1363
  labels: {
1048
1364
  [key: string]: string;
1049
1365
  };
1366
+ /**
1367
+ * A grant the caller's workspace received, to act on the owner's
1368
+ * sandbox through it (docs/grants.md); project and environment are then
1369
+ * left empty.
1370
+ *
1371
+ * @generated from field: string grant = 7;
1372
+ */
1373
+ grant: string;
1050
1374
  };
1051
1375
  /**
1052
1376
  * @generated from message toshi.workspace.v1.ListSandboxesRequest
@@ -1087,6 +1411,14 @@ export type ListSandboxesRequestJson = {
1087
1411
  labels?: {
1088
1412
  [key: string]: string;
1089
1413
  };
1414
+ /**
1415
+ * A grant the caller's workspace received, to act on the owner's
1416
+ * sandbox through it (docs/grants.md); project and environment are then
1417
+ * left empty.
1418
+ *
1419
+ * @generated from field: string grant = 7;
1420
+ */
1421
+ grant?: string;
1090
1422
  };
1091
1423
  /**
1092
1424
  * Describes the message toshi.workspace.v1.ListSandboxesRequest.
@@ -1178,6 +1510,14 @@ export type UpdateSandboxRequest = Message<"toshi.workspace.v1.UpdateSandboxRequ
1178
1510
  * @generated from field: string request_key = 6;
1179
1511
  */
1180
1512
  requestKey: string;
1513
+ /**
1514
+ * A grant the caller's workspace received, to act on the owner's
1515
+ * sandbox through it (docs/grants.md); project and environment are then
1516
+ * left empty.
1517
+ *
1518
+ * @generated from field: string grant = 7;
1519
+ */
1520
+ grant: string;
1181
1521
  };
1182
1522
  /**
1183
1523
  * @generated from message toshi.workspace.v1.UpdateSandboxRequest
@@ -1209,6 +1549,14 @@ export type UpdateSandboxRequestJson = {
1209
1549
  * @generated from field: string request_key = 6;
1210
1550
  */
1211
1551
  requestKey?: string;
1552
+ /**
1553
+ * A grant the caller's workspace received, to act on the owner's
1554
+ * sandbox through it (docs/grants.md); project and environment are then
1555
+ * left empty.
1556
+ *
1557
+ * @generated from field: string grant = 7;
1558
+ */
1559
+ grant?: string;
1212
1560
  };
1213
1561
  /**
1214
1562
  * Describes the message toshi.workspace.v1.UpdateSandboxRequest.
@@ -1358,6 +1706,14 @@ export type WaitSandboxRequest = Message<"toshi.workspace.v1.WaitSandboxRequest"
1358
1706
  * @generated from field: google.protobuf.Duration timeout = 5;
1359
1707
  */
1360
1708
  timeout?: Duration | undefined;
1709
+ /**
1710
+ * A grant the caller's workspace received, to act on the owner's
1711
+ * sandbox through it (docs/grants.md); project and environment are then
1712
+ * left empty.
1713
+ *
1714
+ * @generated from field: string grant = 6;
1715
+ */
1716
+ grant: string;
1361
1717
  };
1362
1718
  /**
1363
1719
  * @generated from message toshi.workspace.v1.WaitSandboxRequest
@@ -1387,6 +1743,14 @@ export type WaitSandboxRequestJson = {
1387
1743
  * @generated from field: google.protobuf.Duration timeout = 5;
1388
1744
  */
1389
1745
  timeout?: DurationJson;
1746
+ /**
1747
+ * A grant the caller's workspace received, to act on the owner's
1748
+ * sandbox through it (docs/grants.md); project and environment are then
1749
+ * left empty.
1750
+ *
1751
+ * @generated from field: string grant = 6;
1752
+ */
1753
+ grant?: string;
1390
1754
  };
1391
1755
  /**
1392
1756
  * Describes the message toshi.workspace.v1.WaitSandboxRequest.
@@ -1457,6 +1821,14 @@ export type WatchSandboxesRequest = Message<"toshi.workspace.v1.WatchSandboxesRe
1457
1821
  * @generated from field: bool keepalive = 4;
1458
1822
  */
1459
1823
  keepalive: boolean;
1824
+ /**
1825
+ * A grant the caller's workspace received, to act on the owner's
1826
+ * sandbox through it (docs/grants.md); project and environment are then
1827
+ * left empty.
1828
+ *
1829
+ * @generated from field: string grant = 5;
1830
+ */
1831
+ grant: string;
1460
1832
  };
1461
1833
  /**
1462
1834
  * @generated from message toshi.workspace.v1.WatchSandboxesRequest
@@ -1483,6 +1855,14 @@ export type WatchSandboxesRequestJson = {
1483
1855
  * @generated from field: bool keepalive = 4;
1484
1856
  */
1485
1857
  keepalive?: boolean;
1858
+ /**
1859
+ * A grant the caller's workspace received, to act on the owner's
1860
+ * sandbox through it (docs/grants.md); project and environment are then
1861
+ * left empty.
1862
+ *
1863
+ * @generated from field: string grant = 5;
1864
+ */
1865
+ grant?: string;
1486
1866
  };
1487
1867
  /**
1488
1868
  * Describes the message toshi.workspace.v1.WatchSandboxesRequest.
@@ -1891,6 +2271,11 @@ export type UpdateServiceRequest = Message<"toshi.workspace.v1.UpdateServiceRequ
1891
2271
  */
1892
2272
  service?: Service | undefined;
1893
2273
  /**
2274
+ * The paths managed_by, manifest_digest, manifest_origin and managed_fields
2275
+ * set the management mark and go together: all four or none, and on their
2276
+ * own; managed_by "manifest" needs the digest, an origin and at least one
2277
+ * field path, and an empty managed_by clears all four.
2278
+ *
1894
2279
  * @generated from field: google.protobuf.FieldMask update_mask = 5;
1895
2280
  */
1896
2281
  updateMask?: FieldMask | undefined;
@@ -1898,6 +2283,18 @@ export type UpdateServiceRequest = Message<"toshi.workspace.v1.UpdateServiceRequ
1898
2283
  * @generated from field: string request_key = 6;
1899
2284
  */
1900
2285
  requestKey: string;
2286
+ /**
2287
+ * Lets a deploy to a started service with a state volume start the new
2288
+ * revision without a saved version of the volume when none can be saved:
2289
+ * the run's pre_save refused, the save did not finish within the upgrade
2290
+ * window, or this control plane keeps no volume versions. A rollback then
2291
+ * has no version to restore. Without it, such a deploy is rolled back
2292
+ * before the revision starts, or, with no volume versions kept, refused
2293
+ * with FAILED_PRECONDITION.
2294
+ *
2295
+ * @generated from field: bool allow_unsaved_volume = 7;
2296
+ */
2297
+ allowUnsavedVolume: boolean;
1901
2298
  };
1902
2299
  /**
1903
2300
  * @generated from message toshi.workspace.v1.UpdateServiceRequest
@@ -1922,6 +2319,11 @@ export type UpdateServiceRequestJson = {
1922
2319
  */
1923
2320
  service?: ServiceJson;
1924
2321
  /**
2322
+ * The paths managed_by, manifest_digest, manifest_origin and managed_fields
2323
+ * set the management mark and go together: all four or none, and on their
2324
+ * own; managed_by "manifest" needs the digest, an origin and at least one
2325
+ * field path, and an empty managed_by clears all four.
2326
+ *
1925
2327
  * @generated from field: google.protobuf.FieldMask update_mask = 5;
1926
2328
  */
1927
2329
  updateMask?: FieldMaskJson;
@@ -1929,6 +2331,18 @@ export type UpdateServiceRequestJson = {
1929
2331
  * @generated from field: string request_key = 6;
1930
2332
  */
1931
2333
  requestKey?: string;
2334
+ /**
2335
+ * Lets a deploy to a started service with a state volume start the new
2336
+ * revision without a saved version of the volume when none can be saved:
2337
+ * the run's pre_save refused, the save did not finish within the upgrade
2338
+ * window, or this control plane keeps no volume versions. A rollback then
2339
+ * has no version to restore. Without it, such a deploy is rolled back
2340
+ * before the revision starts, or, with no volume versions kept, refused
2341
+ * with FAILED_PRECONDITION.
2342
+ *
2343
+ * @generated from field: bool allow_unsaved_volume = 7;
2344
+ */
2345
+ allowUnsavedVolume?: boolean;
1932
2346
  };
1933
2347
  /**
1934
2348
  * Describes the message toshi.workspace.v1.UpdateServiceRequest.
@@ -2265,59 +2679,1253 @@ export declare const WatchServicesResponseSchema: GenMessage<WatchServicesRespon
2265
2679
  jsonType: WatchServicesResponseJson;
2266
2680
  }>;
2267
2681
  /**
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.
2682
+ * ServiceAlarm is one of a service's alarms: a schedule, the event it
2683
+ * publishes on one of the service's event channels, and the instant it
2684
+ * next publishes.
2294
2685
  *
2295
- * @generated from service toshi.workspace.v1.WorkloadService
2686
+ * @generated from message toshi.workspace.v1.ServiceAlarm
2296
2687
  */
2297
- export declare const WorkloadService: GenService<{
2688
+ export type ServiceAlarm = Message<"toshi.workspace.v1.ServiceAlarm"> & {
2298
2689
  /**
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.
2690
+ * The alarm's name within the service.
2304
2691
  *
2305
- * @generated from rpc toshi.workspace.v1.WorkloadService.CreateJob
2692
+ * @generated from field: string name = 1;
2306
2693
  */
2307
- createJob: {
2308
- methodKind: "unary";
2309
- input: typeof CreateJobRequestSchema;
2310
- output: typeof CreateJobResponseSchema;
2311
- };
2694
+ name: string;
2312
2695
  /**
2313
- * GetJob returns one job. An unknown ID fails with NOT_FOUND.
2696
+ * Rises each time the alarm is replaced; an occurrence names the
2697
+ * generation it belongs to.
2314
2698
  *
2315
- * @generated from rpc toshi.workspace.v1.WorkloadService.GetJob
2699
+ * @generated from field: int64 generation = 2;
2316
2700
  */
2317
- getJob: {
2318
- methodKind: "unary";
2319
- input: typeof GetJobRequestSchema;
2320
- output: typeof GetJobResponseSchema;
2701
+ generation: bigint;
2702
+ /**
2703
+ * The schedule: a cron expression in timezone, or a single instant.
2704
+ *
2705
+ * @generated from oneof toshi.workspace.v1.ServiceAlarm.schedule
2706
+ */
2707
+ schedule: {
2708
+ /**
2709
+ * A five-field cron expression, in timezone's wall clock.
2710
+ *
2711
+ * @generated from field: string cron = 3;
2712
+ */
2713
+ value: string;
2714
+ case: "cron";
2715
+ } | {
2716
+ /**
2717
+ * A single instant, after which the alarm has no next instant.
2718
+ *
2719
+ * @generated from field: google.protobuf.Timestamp at = 4;
2720
+ */
2721
+ value: Timestamp;
2722
+ case: "at";
2723
+ } | {
2724
+ case: undefined;
2725
+ value?: undefined;
2726
+ };
2727
+ /**
2728
+ * The IANA zone of the schedule's wall clock; empty for UTC.
2729
+ *
2730
+ * @generated from field: string timezone = 5;
2731
+ */
2732
+ timezone: string;
2733
+ /**
2734
+ * The name of the service's event channel it publishes on.
2735
+ *
2736
+ * @generated from field: string channel = 6;
2737
+ */
2738
+ channel: string;
2739
+ /**
2740
+ * The event name it publishes.
2741
+ *
2742
+ * @generated from field: string event = 7;
2743
+ */
2744
+ event: string;
2745
+ /**
2746
+ * The message's JSON, empty for null.
2747
+ *
2748
+ * @generated from field: bytes data = 8;
2749
+ */
2750
+ data: Uint8Array;
2751
+ /**
2752
+ * What it does with the instants it missed.
2753
+ *
2754
+ * @generated from field: toshi.workspace.v1.ServiceAlarmMisfire misfire = 9;
2755
+ */
2756
+ misfire: ServiceAlarmMisfire;
2757
+ /**
2758
+ * How late a missed instant may be published as on time.
2759
+ *
2760
+ * @generated from field: google.protobuf.Duration starting_deadline = 10;
2761
+ */
2762
+ startingDeadline?: Duration | undefined;
2763
+ /**
2764
+ * Whether it is paused: a paused alarm publishes nothing until resumed.
2765
+ *
2766
+ * @generated from field: bool paused = 11;
2767
+ */
2768
+ paused: boolean;
2769
+ /**
2770
+ * The instant it next publishes; unset when no instant is left.
2771
+ *
2772
+ * @generated from field: google.protobuf.Timestamp next_at = 12;
2773
+ */
2774
+ nextAt?: Timestamp | undefined;
2775
+ /**
2776
+ * When it was created.
2777
+ *
2778
+ * @generated from field: google.protobuf.Timestamp created_at = 13;
2779
+ */
2780
+ createdAt?: Timestamp | undefined;
2781
+ /**
2782
+ * When it was last set, replaced, paused or resumed.
2783
+ *
2784
+ * @generated from field: google.protobuf.Timestamp updated_at = 14;
2785
+ */
2786
+ updatedAt?: Timestamp | undefined;
2787
+ };
2788
+ /**
2789
+ * ServiceAlarm is one of a service's alarms: a schedule, the event it
2790
+ * publishes on one of the service's event channels, and the instant it
2791
+ * next publishes.
2792
+ *
2793
+ * @generated from message toshi.workspace.v1.ServiceAlarm
2794
+ */
2795
+ export type ServiceAlarmJson = {
2796
+ /**
2797
+ * The alarm's name within the service.
2798
+ *
2799
+ * @generated from field: string name = 1;
2800
+ */
2801
+ name?: string;
2802
+ /**
2803
+ * Rises each time the alarm is replaced; an occurrence names the
2804
+ * generation it belongs to.
2805
+ *
2806
+ * @generated from field: int64 generation = 2;
2807
+ */
2808
+ generation?: string;
2809
+ /**
2810
+ * A five-field cron expression, in timezone's wall clock.
2811
+ *
2812
+ * @generated from field: string cron = 3;
2813
+ */
2814
+ cron?: string;
2815
+ /**
2816
+ * A single instant, after which the alarm has no next instant.
2817
+ *
2818
+ * @generated from field: google.protobuf.Timestamp at = 4;
2819
+ */
2820
+ at?: TimestampJson;
2821
+ /**
2822
+ * The IANA zone of the schedule's wall clock; empty for UTC.
2823
+ *
2824
+ * @generated from field: string timezone = 5;
2825
+ */
2826
+ timezone?: string;
2827
+ /**
2828
+ * The name of the service's event channel it publishes on.
2829
+ *
2830
+ * @generated from field: string channel = 6;
2831
+ */
2832
+ channel?: string;
2833
+ /**
2834
+ * The event name it publishes.
2835
+ *
2836
+ * @generated from field: string event = 7;
2837
+ */
2838
+ event?: string;
2839
+ /**
2840
+ * The message's JSON, empty for null.
2841
+ *
2842
+ * @generated from field: bytes data = 8;
2843
+ */
2844
+ data?: string;
2845
+ /**
2846
+ * What it does with the instants it missed.
2847
+ *
2848
+ * @generated from field: toshi.workspace.v1.ServiceAlarmMisfire misfire = 9;
2849
+ */
2850
+ misfire?: ServiceAlarmMisfireJson;
2851
+ /**
2852
+ * How late a missed instant may be published as on time.
2853
+ *
2854
+ * @generated from field: google.protobuf.Duration starting_deadline = 10;
2855
+ */
2856
+ startingDeadline?: DurationJson;
2857
+ /**
2858
+ * Whether it is paused: a paused alarm publishes nothing until resumed.
2859
+ *
2860
+ * @generated from field: bool paused = 11;
2861
+ */
2862
+ paused?: boolean;
2863
+ /**
2864
+ * The instant it next publishes; unset when no instant is left.
2865
+ *
2866
+ * @generated from field: google.protobuf.Timestamp next_at = 12;
2867
+ */
2868
+ nextAt?: TimestampJson;
2869
+ /**
2870
+ * When it was created.
2871
+ *
2872
+ * @generated from field: google.protobuf.Timestamp created_at = 13;
2873
+ */
2874
+ createdAt?: TimestampJson;
2875
+ /**
2876
+ * When it was last set, replaced, paused or resumed.
2877
+ *
2878
+ * @generated from field: google.protobuf.Timestamp updated_at = 14;
2879
+ */
2880
+ updatedAt?: TimestampJson;
2881
+ };
2882
+ /**
2883
+ * Describes the message toshi.workspace.v1.ServiceAlarm.
2884
+ * Use `create(ServiceAlarmSchema)` to create a new message.
2885
+ */
2886
+ export declare const ServiceAlarmSchema: GenMessage<ServiceAlarm, {
2887
+ jsonType: ServiceAlarmJson;
2888
+ }>;
2889
+ /**
2890
+ * ServiceAlarmOccurrence is one instant an alarm published for.
2891
+ *
2892
+ * @generated from message toshi.workspace.v1.ServiceAlarmOccurrence
2893
+ */
2894
+ export type ServiceAlarmOccurrence = Message<"toshi.workspace.v1.ServiceAlarmOccurrence"> & {
2895
+ /**
2896
+ * The alarm's generation the occurrence belongs to.
2897
+ *
2898
+ * @generated from field: int64 generation = 1;
2899
+ */
2900
+ generation: bigint;
2901
+ /**
2902
+ * The instant of the schedule it is for; a manual occurrence's is the
2903
+ * call's time.
2904
+ *
2905
+ * @generated from field: google.protobuf.Timestamp scheduled_for = 2;
2906
+ */
2907
+ scheduledFor?: Timestamp | undefined;
2908
+ /**
2909
+ * Whether RunServiceAlarmNow made it, rather than the schedule.
2910
+ *
2911
+ * @generated from field: bool manual = 3;
2912
+ */
2913
+ manual: boolean;
2914
+ /**
2915
+ * Who ran it, as the audit log names an actor; empty for a scheduled
2916
+ * occurrence.
2917
+ *
2918
+ * @generated from field: string caller = 4;
2919
+ */
2920
+ caller: string;
2921
+ /**
2922
+ * When the occurrence was recorded.
2923
+ *
2924
+ * @generated from field: google.protobuf.Timestamp created_at = 5;
2925
+ */
2926
+ createdAt?: Timestamp | undefined;
2927
+ /**
2928
+ * When its message was published; unset while unpublished.
2929
+ *
2930
+ * @generated from field: google.protobuf.Timestamp published_at = 6;
2931
+ */
2932
+ publishedAt?: Timestamp | undefined;
2933
+ /**
2934
+ * The published message's ID; empty while unpublished.
2935
+ *
2936
+ * @generated from field: string message_id = 7;
2937
+ */
2938
+ messageId: string;
2939
+ /**
2940
+ * Why the publication failed; empty when it did not.
2941
+ *
2942
+ * @generated from field: string error = 8;
2943
+ */
2944
+ error: string;
2945
+ };
2946
+ /**
2947
+ * ServiceAlarmOccurrence is one instant an alarm published for.
2948
+ *
2949
+ * @generated from message toshi.workspace.v1.ServiceAlarmOccurrence
2950
+ */
2951
+ export type ServiceAlarmOccurrenceJson = {
2952
+ /**
2953
+ * The alarm's generation the occurrence belongs to.
2954
+ *
2955
+ * @generated from field: int64 generation = 1;
2956
+ */
2957
+ generation?: string;
2958
+ /**
2959
+ * The instant of the schedule it is for; a manual occurrence's is the
2960
+ * call's time.
2961
+ *
2962
+ * @generated from field: google.protobuf.Timestamp scheduled_for = 2;
2963
+ */
2964
+ scheduledFor?: TimestampJson;
2965
+ /**
2966
+ * Whether RunServiceAlarmNow made it, rather than the schedule.
2967
+ *
2968
+ * @generated from field: bool manual = 3;
2969
+ */
2970
+ manual?: boolean;
2971
+ /**
2972
+ * Who ran it, as the audit log names an actor; empty for a scheduled
2973
+ * occurrence.
2974
+ *
2975
+ * @generated from field: string caller = 4;
2976
+ */
2977
+ caller?: string;
2978
+ /**
2979
+ * When the occurrence was recorded.
2980
+ *
2981
+ * @generated from field: google.protobuf.Timestamp created_at = 5;
2982
+ */
2983
+ createdAt?: TimestampJson;
2984
+ /**
2985
+ * When its message was published; unset while unpublished.
2986
+ *
2987
+ * @generated from field: google.protobuf.Timestamp published_at = 6;
2988
+ */
2989
+ publishedAt?: TimestampJson;
2990
+ /**
2991
+ * The published message's ID; empty while unpublished.
2992
+ *
2993
+ * @generated from field: string message_id = 7;
2994
+ */
2995
+ messageId?: string;
2996
+ /**
2997
+ * Why the publication failed; empty when it did not.
2998
+ *
2999
+ * @generated from field: string error = 8;
3000
+ */
3001
+ error?: string;
3002
+ };
3003
+ /**
3004
+ * Describes the message toshi.workspace.v1.ServiceAlarmOccurrence.
3005
+ * Use `create(ServiceAlarmOccurrenceSchema)` to create a new message.
3006
+ */
3007
+ export declare const ServiceAlarmOccurrenceSchema: GenMessage<ServiceAlarmOccurrence, {
3008
+ jsonType: ServiceAlarmOccurrenceJson;
3009
+ }>;
3010
+ /**
3011
+ * SetServiceAlarmRequest is a call of SetServiceAlarm.
3012
+ *
3013
+ * @generated from message toshi.workspace.v1.SetServiceAlarmRequest
3014
+ */
3015
+ export type SetServiceAlarmRequest = Message<"toshi.workspace.v1.SetServiceAlarmRequest"> & {
3016
+ /**
3017
+ * The service's project.
3018
+ *
3019
+ * @generated from field: string project = 1;
3020
+ */
3021
+ project: string;
3022
+ /**
3023
+ * The service's environment.
3024
+ *
3025
+ * @generated from field: string environment = 2;
3026
+ */
3027
+ environment: string;
3028
+ /**
3029
+ * The service's ID.
3030
+ *
3031
+ * @generated from field: string service_id = 3;
3032
+ */
3033
+ serviceId: string;
3034
+ /**
3035
+ * The alarm's name within the service.
3036
+ *
3037
+ * @generated from field: string name = 4;
3038
+ */
3039
+ name: string;
3040
+ /**
3041
+ * The schedule: a cron expression in timezone, or a single instant.
3042
+ *
3043
+ * @generated from oneof toshi.workspace.v1.SetServiceAlarmRequest.schedule
3044
+ */
3045
+ schedule: {
3046
+ /**
3047
+ * A five-field cron expression, in timezone's wall clock.
3048
+ *
3049
+ * @generated from field: string cron = 5;
3050
+ */
3051
+ value: string;
3052
+ case: "cron";
3053
+ } | {
3054
+ /**
3055
+ * A single instant, which must be in the future.
3056
+ *
3057
+ * @generated from field: google.protobuf.Timestamp at = 6;
3058
+ */
3059
+ value: Timestamp;
3060
+ case: "at";
3061
+ } | {
3062
+ case: undefined;
3063
+ value?: undefined;
3064
+ };
3065
+ /**
3066
+ * The IANA zone of the schedule's wall clock; empty for UTC.
3067
+ *
3068
+ * @generated from field: string timezone = 7;
3069
+ */
3070
+ timezone: string;
3071
+ /**
3072
+ * The name of the service's event channel to publish on.
3073
+ *
3074
+ * @generated from field: string channel = 8;
3075
+ */
3076
+ channel: string;
3077
+ /**
3078
+ * The event name to publish.
3079
+ *
3080
+ * @generated from field: string event = 9;
3081
+ */
3082
+ event: string;
3083
+ /**
3084
+ * The message's JSON, empty for null.
3085
+ *
3086
+ * @generated from field: bytes data = 10;
3087
+ */
3088
+ data: Uint8Array;
3089
+ /**
3090
+ * What it does with the instants it missed; unspecified means COALESCE.
3091
+ *
3092
+ * @generated from field: toshi.workspace.v1.ServiceAlarmMisfire misfire = 11;
3093
+ */
3094
+ misfire: ServiceAlarmMisfire;
3095
+ /**
3096
+ * How late a missed instant may be published as on time; unset means
3097
+ * 10 minutes.
3098
+ *
3099
+ * @generated from field: google.protobuf.Duration starting_deadline = 12;
3100
+ */
3101
+ startingDeadline?: Duration | undefined;
3102
+ };
3103
+ /**
3104
+ * SetServiceAlarmRequest is a call of SetServiceAlarm.
3105
+ *
3106
+ * @generated from message toshi.workspace.v1.SetServiceAlarmRequest
3107
+ */
3108
+ export type SetServiceAlarmRequestJson = {
3109
+ /**
3110
+ * The service's project.
3111
+ *
3112
+ * @generated from field: string project = 1;
3113
+ */
3114
+ project?: string;
3115
+ /**
3116
+ * The service's environment.
3117
+ *
3118
+ * @generated from field: string environment = 2;
3119
+ */
3120
+ environment?: string;
3121
+ /**
3122
+ * The service's ID.
3123
+ *
3124
+ * @generated from field: string service_id = 3;
3125
+ */
3126
+ serviceId?: string;
3127
+ /**
3128
+ * The alarm's name within the service.
3129
+ *
3130
+ * @generated from field: string name = 4;
3131
+ */
3132
+ name?: string;
3133
+ /**
3134
+ * A five-field cron expression, in timezone's wall clock.
3135
+ *
3136
+ * @generated from field: string cron = 5;
3137
+ */
3138
+ cron?: string;
3139
+ /**
3140
+ * A single instant, which must be in the future.
3141
+ *
3142
+ * @generated from field: google.protobuf.Timestamp at = 6;
3143
+ */
3144
+ at?: TimestampJson;
3145
+ /**
3146
+ * The IANA zone of the schedule's wall clock; empty for UTC.
3147
+ *
3148
+ * @generated from field: string timezone = 7;
3149
+ */
3150
+ timezone?: string;
3151
+ /**
3152
+ * The name of the service's event channel to publish on.
3153
+ *
3154
+ * @generated from field: string channel = 8;
3155
+ */
3156
+ channel?: string;
3157
+ /**
3158
+ * The event name to publish.
3159
+ *
3160
+ * @generated from field: string event = 9;
3161
+ */
3162
+ event?: string;
3163
+ /**
3164
+ * The message's JSON, empty for null.
3165
+ *
3166
+ * @generated from field: bytes data = 10;
3167
+ */
3168
+ data?: string;
3169
+ /**
3170
+ * What it does with the instants it missed; unspecified means COALESCE.
3171
+ *
3172
+ * @generated from field: toshi.workspace.v1.ServiceAlarmMisfire misfire = 11;
3173
+ */
3174
+ misfire?: ServiceAlarmMisfireJson;
3175
+ /**
3176
+ * How late a missed instant may be published as on time; unset means
3177
+ * 10 minutes.
3178
+ *
3179
+ * @generated from field: google.protobuf.Duration starting_deadline = 12;
3180
+ */
3181
+ startingDeadline?: DurationJson;
3182
+ };
3183
+ /**
3184
+ * Describes the message toshi.workspace.v1.SetServiceAlarmRequest.
3185
+ * Use `create(SetServiceAlarmRequestSchema)` to create a new message.
3186
+ */
3187
+ export declare const SetServiceAlarmRequestSchema: GenMessage<SetServiceAlarmRequest, {
3188
+ jsonType: SetServiceAlarmRequestJson;
3189
+ }>;
3190
+ /**
3191
+ * SetServiceAlarmResponse is the answer to SetServiceAlarm.
3192
+ *
3193
+ * @generated from message toshi.workspace.v1.SetServiceAlarmResponse
3194
+ */
3195
+ export type SetServiceAlarmResponse = Message<"toshi.workspace.v1.SetServiceAlarmResponse"> & {
3196
+ /**
3197
+ * The alarm as it was set.
3198
+ *
3199
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3200
+ */
3201
+ alarm?: ServiceAlarm | undefined;
3202
+ };
3203
+ /**
3204
+ * SetServiceAlarmResponse is the answer to SetServiceAlarm.
3205
+ *
3206
+ * @generated from message toshi.workspace.v1.SetServiceAlarmResponse
3207
+ */
3208
+ export type SetServiceAlarmResponseJson = {
3209
+ /**
3210
+ * The alarm as it was set.
3211
+ *
3212
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3213
+ */
3214
+ alarm?: ServiceAlarmJson;
3215
+ };
3216
+ /**
3217
+ * Describes the message toshi.workspace.v1.SetServiceAlarmResponse.
3218
+ * Use `create(SetServiceAlarmResponseSchema)` to create a new message.
3219
+ */
3220
+ export declare const SetServiceAlarmResponseSchema: GenMessage<SetServiceAlarmResponse, {
3221
+ jsonType: SetServiceAlarmResponseJson;
3222
+ }>;
3223
+ /**
3224
+ * GetServiceAlarmRequest is a call of GetServiceAlarm.
3225
+ *
3226
+ * @generated from message toshi.workspace.v1.GetServiceAlarmRequest
3227
+ */
3228
+ export type GetServiceAlarmRequest = Message<"toshi.workspace.v1.GetServiceAlarmRequest"> & {
3229
+ /**
3230
+ * The service's project.
3231
+ *
3232
+ * @generated from field: string project = 1;
3233
+ */
3234
+ project: string;
3235
+ /**
3236
+ * The service's environment.
3237
+ *
3238
+ * @generated from field: string environment = 2;
3239
+ */
3240
+ environment: string;
3241
+ /**
3242
+ * The service's ID.
3243
+ *
3244
+ * @generated from field: string service_id = 3;
3245
+ */
3246
+ serviceId: string;
3247
+ /**
3248
+ * The alarm's name.
3249
+ *
3250
+ * @generated from field: string name = 4;
3251
+ */
3252
+ name: string;
3253
+ };
3254
+ /**
3255
+ * GetServiceAlarmRequest is a call of GetServiceAlarm.
3256
+ *
3257
+ * @generated from message toshi.workspace.v1.GetServiceAlarmRequest
3258
+ */
3259
+ export type GetServiceAlarmRequestJson = {
3260
+ /**
3261
+ * The service's project.
3262
+ *
3263
+ * @generated from field: string project = 1;
3264
+ */
3265
+ project?: string;
3266
+ /**
3267
+ * The service's environment.
3268
+ *
3269
+ * @generated from field: string environment = 2;
3270
+ */
3271
+ environment?: string;
3272
+ /**
3273
+ * The service's ID.
3274
+ *
3275
+ * @generated from field: string service_id = 3;
3276
+ */
3277
+ serviceId?: string;
3278
+ /**
3279
+ * The alarm's name.
3280
+ *
3281
+ * @generated from field: string name = 4;
3282
+ */
3283
+ name?: string;
3284
+ };
3285
+ /**
3286
+ * Describes the message toshi.workspace.v1.GetServiceAlarmRequest.
3287
+ * Use `create(GetServiceAlarmRequestSchema)` to create a new message.
3288
+ */
3289
+ export declare const GetServiceAlarmRequestSchema: GenMessage<GetServiceAlarmRequest, {
3290
+ jsonType: GetServiceAlarmRequestJson;
3291
+ }>;
3292
+ /**
3293
+ * GetServiceAlarmResponse is the answer to GetServiceAlarm.
3294
+ *
3295
+ * @generated from message toshi.workspace.v1.GetServiceAlarmResponse
3296
+ */
3297
+ export type GetServiceAlarmResponse = Message<"toshi.workspace.v1.GetServiceAlarmResponse"> & {
3298
+ /**
3299
+ * The alarm.
3300
+ *
3301
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3302
+ */
3303
+ alarm?: ServiceAlarm | undefined;
3304
+ /**
3305
+ * Its most recent occurrences, newest first, at most 20.
3306
+ *
3307
+ * @generated from field: repeated toshi.workspace.v1.ServiceAlarmOccurrence occurrences = 2;
3308
+ */
3309
+ occurrences: ServiceAlarmOccurrence[];
3310
+ };
3311
+ /**
3312
+ * GetServiceAlarmResponse is the answer to GetServiceAlarm.
3313
+ *
3314
+ * @generated from message toshi.workspace.v1.GetServiceAlarmResponse
3315
+ */
3316
+ export type GetServiceAlarmResponseJson = {
3317
+ /**
3318
+ * The alarm.
3319
+ *
3320
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3321
+ */
3322
+ alarm?: ServiceAlarmJson;
3323
+ /**
3324
+ * Its most recent occurrences, newest first, at most 20.
3325
+ *
3326
+ * @generated from field: repeated toshi.workspace.v1.ServiceAlarmOccurrence occurrences = 2;
3327
+ */
3328
+ occurrences?: ServiceAlarmOccurrenceJson[];
3329
+ };
3330
+ /**
3331
+ * Describes the message toshi.workspace.v1.GetServiceAlarmResponse.
3332
+ * Use `create(GetServiceAlarmResponseSchema)` to create a new message.
3333
+ */
3334
+ export declare const GetServiceAlarmResponseSchema: GenMessage<GetServiceAlarmResponse, {
3335
+ jsonType: GetServiceAlarmResponseJson;
3336
+ }>;
3337
+ /**
3338
+ * ListServiceAlarmsRequest is a call of ListServiceAlarms.
3339
+ *
3340
+ * @generated from message toshi.workspace.v1.ListServiceAlarmsRequest
3341
+ */
3342
+ export type ListServiceAlarmsRequest = Message<"toshi.workspace.v1.ListServiceAlarmsRequest"> & {
3343
+ /**
3344
+ * The service's project.
3345
+ *
3346
+ * @generated from field: string project = 1;
3347
+ */
3348
+ project: string;
3349
+ /**
3350
+ * The service's environment.
3351
+ *
3352
+ * @generated from field: string environment = 2;
3353
+ */
3354
+ environment: string;
3355
+ /**
3356
+ * The service's ID.
3357
+ *
3358
+ * @generated from field: string service_id = 3;
3359
+ */
3360
+ serviceId: string;
3361
+ };
3362
+ /**
3363
+ * ListServiceAlarmsRequest is a call of ListServiceAlarms.
3364
+ *
3365
+ * @generated from message toshi.workspace.v1.ListServiceAlarmsRequest
3366
+ */
3367
+ export type ListServiceAlarmsRequestJson = {
3368
+ /**
3369
+ * The service's project.
3370
+ *
3371
+ * @generated from field: string project = 1;
3372
+ */
3373
+ project?: string;
3374
+ /**
3375
+ * The service's environment.
3376
+ *
3377
+ * @generated from field: string environment = 2;
3378
+ */
3379
+ environment?: string;
3380
+ /**
3381
+ * The service's ID.
3382
+ *
3383
+ * @generated from field: string service_id = 3;
3384
+ */
3385
+ serviceId?: string;
3386
+ };
3387
+ /**
3388
+ * Describes the message toshi.workspace.v1.ListServiceAlarmsRequest.
3389
+ * Use `create(ListServiceAlarmsRequestSchema)` to create a new message.
3390
+ */
3391
+ export declare const ListServiceAlarmsRequestSchema: GenMessage<ListServiceAlarmsRequest, {
3392
+ jsonType: ListServiceAlarmsRequestJson;
3393
+ }>;
3394
+ /**
3395
+ * ListServiceAlarmsResponse is the answer to ListServiceAlarms.
3396
+ *
3397
+ * @generated from message toshi.workspace.v1.ListServiceAlarmsResponse
3398
+ */
3399
+ export type ListServiceAlarmsResponse = Message<"toshi.workspace.v1.ListServiceAlarmsResponse"> & {
3400
+ /**
3401
+ * The service's alarms, by name.
3402
+ *
3403
+ * @generated from field: repeated toshi.workspace.v1.ServiceAlarm alarms = 1;
3404
+ */
3405
+ alarms: ServiceAlarm[];
3406
+ };
3407
+ /**
3408
+ * ListServiceAlarmsResponse is the answer to ListServiceAlarms.
3409
+ *
3410
+ * @generated from message toshi.workspace.v1.ListServiceAlarmsResponse
3411
+ */
3412
+ export type ListServiceAlarmsResponseJson = {
3413
+ /**
3414
+ * The service's alarms, by name.
3415
+ *
3416
+ * @generated from field: repeated toshi.workspace.v1.ServiceAlarm alarms = 1;
3417
+ */
3418
+ alarms?: ServiceAlarmJson[];
3419
+ };
3420
+ /**
3421
+ * Describes the message toshi.workspace.v1.ListServiceAlarmsResponse.
3422
+ * Use `create(ListServiceAlarmsResponseSchema)` to create a new message.
3423
+ */
3424
+ export declare const ListServiceAlarmsResponseSchema: GenMessage<ListServiceAlarmsResponse, {
3425
+ jsonType: ListServiceAlarmsResponseJson;
3426
+ }>;
3427
+ /**
3428
+ * DeleteServiceAlarmRequest is a call of DeleteServiceAlarm.
3429
+ *
3430
+ * @generated from message toshi.workspace.v1.DeleteServiceAlarmRequest
3431
+ */
3432
+ export type DeleteServiceAlarmRequest = Message<"toshi.workspace.v1.DeleteServiceAlarmRequest"> & {
3433
+ /**
3434
+ * The service's project.
3435
+ *
3436
+ * @generated from field: string project = 1;
3437
+ */
3438
+ project: string;
3439
+ /**
3440
+ * The service's environment.
3441
+ *
3442
+ * @generated from field: string environment = 2;
3443
+ */
3444
+ environment: string;
3445
+ /**
3446
+ * The service's ID.
3447
+ *
3448
+ * @generated from field: string service_id = 3;
3449
+ */
3450
+ serviceId: string;
3451
+ /**
3452
+ * The alarm's name.
3453
+ *
3454
+ * @generated from field: string name = 4;
3455
+ */
3456
+ name: string;
3457
+ };
3458
+ /**
3459
+ * DeleteServiceAlarmRequest is a call of DeleteServiceAlarm.
3460
+ *
3461
+ * @generated from message toshi.workspace.v1.DeleteServiceAlarmRequest
3462
+ */
3463
+ export type DeleteServiceAlarmRequestJson = {
3464
+ /**
3465
+ * The service's project.
3466
+ *
3467
+ * @generated from field: string project = 1;
3468
+ */
3469
+ project?: string;
3470
+ /**
3471
+ * The service's environment.
3472
+ *
3473
+ * @generated from field: string environment = 2;
3474
+ */
3475
+ environment?: string;
3476
+ /**
3477
+ * The service's ID.
3478
+ *
3479
+ * @generated from field: string service_id = 3;
3480
+ */
3481
+ serviceId?: string;
3482
+ /**
3483
+ * The alarm's name.
3484
+ *
3485
+ * @generated from field: string name = 4;
3486
+ */
3487
+ name?: string;
3488
+ };
3489
+ /**
3490
+ * Describes the message toshi.workspace.v1.DeleteServiceAlarmRequest.
3491
+ * Use `create(DeleteServiceAlarmRequestSchema)` to create a new message.
3492
+ */
3493
+ export declare const DeleteServiceAlarmRequestSchema: GenMessage<DeleteServiceAlarmRequest, {
3494
+ jsonType: DeleteServiceAlarmRequestJson;
3495
+ }>;
3496
+ /**
3497
+ * DeleteServiceAlarmResponse is the answer to DeleteServiceAlarm.
3498
+ *
3499
+ * @generated from message toshi.workspace.v1.DeleteServiceAlarmResponse
3500
+ */
3501
+ export type DeleteServiceAlarmResponse = Message<"toshi.workspace.v1.DeleteServiceAlarmResponse"> & {};
3502
+ /**
3503
+ * DeleteServiceAlarmResponse is the answer to DeleteServiceAlarm.
3504
+ *
3505
+ * @generated from message toshi.workspace.v1.DeleteServiceAlarmResponse
3506
+ */
3507
+ export type DeleteServiceAlarmResponseJson = {};
3508
+ /**
3509
+ * Describes the message toshi.workspace.v1.DeleteServiceAlarmResponse.
3510
+ * Use `create(DeleteServiceAlarmResponseSchema)` to create a new message.
3511
+ */
3512
+ export declare const DeleteServiceAlarmResponseSchema: GenMessage<DeleteServiceAlarmResponse, {
3513
+ jsonType: DeleteServiceAlarmResponseJson;
3514
+ }>;
3515
+ /**
3516
+ * PauseServiceAlarmRequest is a call of PauseServiceAlarm.
3517
+ *
3518
+ * @generated from message toshi.workspace.v1.PauseServiceAlarmRequest
3519
+ */
3520
+ export type PauseServiceAlarmRequest = Message<"toshi.workspace.v1.PauseServiceAlarmRequest"> & {
3521
+ /**
3522
+ * The service's project.
3523
+ *
3524
+ * @generated from field: string project = 1;
3525
+ */
3526
+ project: string;
3527
+ /**
3528
+ * The service's environment.
3529
+ *
3530
+ * @generated from field: string environment = 2;
3531
+ */
3532
+ environment: string;
3533
+ /**
3534
+ * The service's ID.
3535
+ *
3536
+ * @generated from field: string service_id = 3;
3537
+ */
3538
+ serviceId: string;
3539
+ /**
3540
+ * The alarm's name.
3541
+ *
3542
+ * @generated from field: string name = 4;
3543
+ */
3544
+ name: string;
3545
+ };
3546
+ /**
3547
+ * PauseServiceAlarmRequest is a call of PauseServiceAlarm.
3548
+ *
3549
+ * @generated from message toshi.workspace.v1.PauseServiceAlarmRequest
3550
+ */
3551
+ export type PauseServiceAlarmRequestJson = {
3552
+ /**
3553
+ * The service's project.
3554
+ *
3555
+ * @generated from field: string project = 1;
3556
+ */
3557
+ project?: string;
3558
+ /**
3559
+ * The service's environment.
3560
+ *
3561
+ * @generated from field: string environment = 2;
3562
+ */
3563
+ environment?: string;
3564
+ /**
3565
+ * The service's ID.
3566
+ *
3567
+ * @generated from field: string service_id = 3;
3568
+ */
3569
+ serviceId?: string;
3570
+ /**
3571
+ * The alarm's name.
3572
+ *
3573
+ * @generated from field: string name = 4;
3574
+ */
3575
+ name?: string;
3576
+ };
3577
+ /**
3578
+ * Describes the message toshi.workspace.v1.PauseServiceAlarmRequest.
3579
+ * Use `create(PauseServiceAlarmRequestSchema)` to create a new message.
3580
+ */
3581
+ export declare const PauseServiceAlarmRequestSchema: GenMessage<PauseServiceAlarmRequest, {
3582
+ jsonType: PauseServiceAlarmRequestJson;
3583
+ }>;
3584
+ /**
3585
+ * PauseServiceAlarmResponse is the answer to PauseServiceAlarm.
3586
+ *
3587
+ * @generated from message toshi.workspace.v1.PauseServiceAlarmResponse
3588
+ */
3589
+ export type PauseServiceAlarmResponse = Message<"toshi.workspace.v1.PauseServiceAlarmResponse"> & {
3590
+ /**
3591
+ * The alarm as it is.
3592
+ *
3593
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3594
+ */
3595
+ alarm?: ServiceAlarm | undefined;
3596
+ };
3597
+ /**
3598
+ * PauseServiceAlarmResponse is the answer to PauseServiceAlarm.
3599
+ *
3600
+ * @generated from message toshi.workspace.v1.PauseServiceAlarmResponse
3601
+ */
3602
+ export type PauseServiceAlarmResponseJson = {
3603
+ /**
3604
+ * The alarm as it is.
3605
+ *
3606
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3607
+ */
3608
+ alarm?: ServiceAlarmJson;
3609
+ };
3610
+ /**
3611
+ * Describes the message toshi.workspace.v1.PauseServiceAlarmResponse.
3612
+ * Use `create(PauseServiceAlarmResponseSchema)` to create a new message.
3613
+ */
3614
+ export declare const PauseServiceAlarmResponseSchema: GenMessage<PauseServiceAlarmResponse, {
3615
+ jsonType: PauseServiceAlarmResponseJson;
3616
+ }>;
3617
+ /**
3618
+ * ResumeServiceAlarmRequest is a call of ResumeServiceAlarm.
3619
+ *
3620
+ * @generated from message toshi.workspace.v1.ResumeServiceAlarmRequest
3621
+ */
3622
+ export type ResumeServiceAlarmRequest = Message<"toshi.workspace.v1.ResumeServiceAlarmRequest"> & {
3623
+ /**
3624
+ * The service's project.
3625
+ *
3626
+ * @generated from field: string project = 1;
3627
+ */
3628
+ project: string;
3629
+ /**
3630
+ * The service's environment.
3631
+ *
3632
+ * @generated from field: string environment = 2;
3633
+ */
3634
+ environment: string;
3635
+ /**
3636
+ * The service's ID.
3637
+ *
3638
+ * @generated from field: string service_id = 3;
3639
+ */
3640
+ serviceId: string;
3641
+ /**
3642
+ * The alarm's name.
3643
+ *
3644
+ * @generated from field: string name = 4;
3645
+ */
3646
+ name: string;
3647
+ };
3648
+ /**
3649
+ * ResumeServiceAlarmRequest is a call of ResumeServiceAlarm.
3650
+ *
3651
+ * @generated from message toshi.workspace.v1.ResumeServiceAlarmRequest
3652
+ */
3653
+ export type ResumeServiceAlarmRequestJson = {
3654
+ /**
3655
+ * The service's project.
3656
+ *
3657
+ * @generated from field: string project = 1;
3658
+ */
3659
+ project?: string;
3660
+ /**
3661
+ * The service's environment.
3662
+ *
3663
+ * @generated from field: string environment = 2;
3664
+ */
3665
+ environment?: string;
3666
+ /**
3667
+ * The service's ID.
3668
+ *
3669
+ * @generated from field: string service_id = 3;
3670
+ */
3671
+ serviceId?: string;
3672
+ /**
3673
+ * The alarm's name.
3674
+ *
3675
+ * @generated from field: string name = 4;
3676
+ */
3677
+ name?: string;
3678
+ };
3679
+ /**
3680
+ * Describes the message toshi.workspace.v1.ResumeServiceAlarmRequest.
3681
+ * Use `create(ResumeServiceAlarmRequestSchema)` to create a new message.
3682
+ */
3683
+ export declare const ResumeServiceAlarmRequestSchema: GenMessage<ResumeServiceAlarmRequest, {
3684
+ jsonType: ResumeServiceAlarmRequestJson;
3685
+ }>;
3686
+ /**
3687
+ * ResumeServiceAlarmResponse is the answer to ResumeServiceAlarm.
3688
+ *
3689
+ * @generated from message toshi.workspace.v1.ResumeServiceAlarmResponse
3690
+ */
3691
+ export type ResumeServiceAlarmResponse = Message<"toshi.workspace.v1.ResumeServiceAlarmResponse"> & {
3692
+ /**
3693
+ * The alarm as it is.
3694
+ *
3695
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3696
+ */
3697
+ alarm?: ServiceAlarm | undefined;
3698
+ };
3699
+ /**
3700
+ * ResumeServiceAlarmResponse is the answer to ResumeServiceAlarm.
3701
+ *
3702
+ * @generated from message toshi.workspace.v1.ResumeServiceAlarmResponse
3703
+ */
3704
+ export type ResumeServiceAlarmResponseJson = {
3705
+ /**
3706
+ * The alarm as it is.
3707
+ *
3708
+ * @generated from field: toshi.workspace.v1.ServiceAlarm alarm = 1;
3709
+ */
3710
+ alarm?: ServiceAlarmJson;
3711
+ };
3712
+ /**
3713
+ * Describes the message toshi.workspace.v1.ResumeServiceAlarmResponse.
3714
+ * Use `create(ResumeServiceAlarmResponseSchema)` to create a new message.
3715
+ */
3716
+ export declare const ResumeServiceAlarmResponseSchema: GenMessage<ResumeServiceAlarmResponse, {
3717
+ jsonType: ResumeServiceAlarmResponseJson;
3718
+ }>;
3719
+ /**
3720
+ * RunServiceAlarmNowRequest is a call of RunServiceAlarmNow.
3721
+ *
3722
+ * @generated from message toshi.workspace.v1.RunServiceAlarmNowRequest
3723
+ */
3724
+ export type RunServiceAlarmNowRequest = Message<"toshi.workspace.v1.RunServiceAlarmNowRequest"> & {
3725
+ /**
3726
+ * The service's project.
3727
+ *
3728
+ * @generated from field: string project = 1;
3729
+ */
3730
+ project: string;
3731
+ /**
3732
+ * The service's environment.
3733
+ *
3734
+ * @generated from field: string environment = 2;
3735
+ */
3736
+ environment: string;
3737
+ /**
3738
+ * The service's ID.
3739
+ *
3740
+ * @generated from field: string service_id = 3;
3741
+ */
3742
+ serviceId: string;
3743
+ /**
3744
+ * The alarm's name.
3745
+ *
3746
+ * @generated from field: string name = 4;
3747
+ */
3748
+ name: string;
3749
+ /**
3750
+ * @generated from field: string request_key = 5;
3751
+ */
3752
+ requestKey: string;
3753
+ };
3754
+ /**
3755
+ * RunServiceAlarmNowRequest is a call of RunServiceAlarmNow.
3756
+ *
3757
+ * @generated from message toshi.workspace.v1.RunServiceAlarmNowRequest
3758
+ */
3759
+ export type RunServiceAlarmNowRequestJson = {
3760
+ /**
3761
+ * The service's project.
3762
+ *
3763
+ * @generated from field: string project = 1;
3764
+ */
3765
+ project?: string;
3766
+ /**
3767
+ * The service's environment.
3768
+ *
3769
+ * @generated from field: string environment = 2;
3770
+ */
3771
+ environment?: string;
3772
+ /**
3773
+ * The service's ID.
3774
+ *
3775
+ * @generated from field: string service_id = 3;
3776
+ */
3777
+ serviceId?: string;
3778
+ /**
3779
+ * The alarm's name.
3780
+ *
3781
+ * @generated from field: string name = 4;
3782
+ */
3783
+ name?: string;
3784
+ /**
3785
+ * @generated from field: string request_key = 5;
3786
+ */
3787
+ requestKey?: string;
3788
+ };
3789
+ /**
3790
+ * Describes the message toshi.workspace.v1.RunServiceAlarmNowRequest.
3791
+ * Use `create(RunServiceAlarmNowRequestSchema)` to create a new message.
3792
+ */
3793
+ export declare const RunServiceAlarmNowRequestSchema: GenMessage<RunServiceAlarmNowRequest, {
3794
+ jsonType: RunServiceAlarmNowRequestJson;
3795
+ }>;
3796
+ /**
3797
+ * RunServiceAlarmNowResponse is the answer to RunServiceAlarmNow.
3798
+ *
3799
+ * @generated from message toshi.workspace.v1.RunServiceAlarmNowResponse
3800
+ */
3801
+ export type RunServiceAlarmNowResponse = Message<"toshi.workspace.v1.RunServiceAlarmNowResponse"> & {
3802
+ /**
3803
+ * The occurrence it published.
3804
+ *
3805
+ * @generated from field: toshi.workspace.v1.ServiceAlarmOccurrence occurrence = 1;
3806
+ */
3807
+ occurrence?: ServiceAlarmOccurrence | undefined;
3808
+ };
3809
+ /**
3810
+ * RunServiceAlarmNowResponse is the answer to RunServiceAlarmNow.
3811
+ *
3812
+ * @generated from message toshi.workspace.v1.RunServiceAlarmNowResponse
3813
+ */
3814
+ export type RunServiceAlarmNowResponseJson = {
3815
+ /**
3816
+ * The occurrence it published.
3817
+ *
3818
+ * @generated from field: toshi.workspace.v1.ServiceAlarmOccurrence occurrence = 1;
3819
+ */
3820
+ occurrence?: ServiceAlarmOccurrenceJson;
3821
+ };
3822
+ /**
3823
+ * Describes the message toshi.workspace.v1.RunServiceAlarmNowResponse.
3824
+ * Use `create(RunServiceAlarmNowResponseSchema)` to create a new message.
3825
+ */
3826
+ export declare const RunServiceAlarmNowResponseSchema: GenMessage<RunServiceAlarmNowResponse, {
3827
+ jsonType: RunServiceAlarmNowResponseJson;
3828
+ }>;
3829
+ /**
3830
+ * ServiceAlarmMisfire is what an alarm does with the instants of its
3831
+ * schedule it missed.
3832
+ *
3833
+ * @generated from enum toshi.workspace.v1.ServiceAlarmMisfire
3834
+ */
3835
+ export declare enum ServiceAlarmMisfire {
3836
+ /**
3837
+ * The same as COALESCE.
3838
+ *
3839
+ * @generated from enum value: SERVICE_ALARM_MISFIRE_UNSPECIFIED = 0;
3840
+ */
3841
+ UNSPECIFIED = 0,
3842
+ /**
3843
+ * Publishes one message for the instants missed by more than the
3844
+ * starting deadline.
3845
+ *
3846
+ * @generated from enum value: SERVICE_ALARM_MISFIRE_COALESCE = 1;
3847
+ */
3848
+ COALESCE = 1,
3849
+ /**
3850
+ * Publishes a message for each missed instant, oldest first.
3851
+ *
3852
+ * @generated from enum value: SERVICE_ALARM_MISFIRE_ALL = 2;
3853
+ */
3854
+ ALL = 2,
3855
+ /**
3856
+ * Publishes none for missed instants.
3857
+ *
3858
+ * @generated from enum value: SERVICE_ALARM_MISFIRE_SKIP = 3;
3859
+ */
3860
+ SKIP = 3
3861
+ }
3862
+ /**
3863
+ * ServiceAlarmMisfire is what an alarm does with the instants of its
3864
+ * schedule it missed.
3865
+ *
3866
+ * @generated from enum toshi.workspace.v1.ServiceAlarmMisfire
3867
+ */
3868
+ export type ServiceAlarmMisfireJson = "SERVICE_ALARM_MISFIRE_UNSPECIFIED" | "SERVICE_ALARM_MISFIRE_COALESCE" | "SERVICE_ALARM_MISFIRE_ALL" | "SERVICE_ALARM_MISFIRE_SKIP";
3869
+ /**
3870
+ * Describes the enum toshi.workspace.v1.ServiceAlarmMisfire.
3871
+ */
3872
+ export declare const ServiceAlarmMisfireSchema: GenEnum<ServiceAlarmMisfire, ServiceAlarmMisfireJson>;
3873
+ /**
3874
+ * WorkloadService holds the Workspace API's three resources, Job, Sandbox
3875
+ * and Service, and the events and operations that span them. The three
3876
+ * share one state model, one event log and one id space: an id names a job,
3877
+ * a sandbox or a service, and a call of one type given the id of another
3878
+ * fails with NOT_FOUND.
3879
+ *
3880
+ * The caller's credential names the workspace; every request names the
3881
+ * project and the environment in its project and environment fields, and a
3882
+ * call that leaves either empty fails with INVALID_ARGUMENT. The environment
3883
+ * is one of the project's environments; a project or environment the
3884
+ * workspace does not have is NOT_FOUND. A job, sandbox, service, execution,
3885
+ * operation or event of another project or environment is NOT_FOUND.
3886
+ *
3887
+ * Every mutating call but CancelJob, AnswerPrompt, EmitWorkloadEvent and the
3888
+ * service alarm calls other than RunServiceAlarmNow takes a request_key. A
3889
+ * key is bound to the workspace, the call and the request's payload: a retry
3890
+ * with the same key and the same payload returns what the first call returned
3891
+ * and starts nothing new; the same key with a different payload fails with
3892
+ * FAILED_PRECONDITION. A create requires a key: a create without one fails
3893
+ * with INVALID_ARGUMENT. For the other calls an empty key means no retry
3894
+ * protection. CancelJob takes none: a repeat of it changes nothing. The other
3895
+ * service alarm calls take none.
3896
+ *
3897
+ * A caller over its rate limit gets RESOURCE_EXHAUSTED with a
3898
+ * google.rpc.RetryInfo detail: the delay before a retry, on every protocol.
3899
+ * The same whole seconds are in a Retry-After response header on Connect and
3900
+ * gRPC-Web calls and on gRPC streams, and in the trailing metadata of a gRPC
3901
+ * unary call.
3902
+ *
3903
+ * @generated from service toshi.workspace.v1.WorkloadService
3904
+ */
3905
+ export declare const WorkloadService: GenService<{
3906
+ /**
3907
+ * CreateJob creates a job and returns it. With wait_for_end set, the call
3908
+ * blocks until the job ends or the bound passes. If the job has ended when
3909
+ * the call answers, the answer carries its exit status and output without
3910
+ * a second read; otherwise it carries the job as it is and no output, and
3911
+ * no later call returns it.
3912
+ *
3913
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CreateJob
3914
+ */
3915
+ createJob: {
3916
+ methodKind: "unary";
3917
+ input: typeof CreateJobRequestSchema;
3918
+ output: typeof CreateJobResponseSchema;
3919
+ };
3920
+ /**
3921
+ * GetJob returns one job. An unknown ID fails with NOT_FOUND.
3922
+ *
3923
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetJob
3924
+ */
3925
+ getJob: {
3926
+ methodKind: "unary";
3927
+ input: typeof GetJobRequestSchema;
3928
+ output: typeof GetJobResponseSchema;
2321
3929
  };
2322
3930
  /**
2323
3931
  * ListJobs returns the jobs that match every filter that is set, oldest
@@ -2494,6 +4102,31 @@ export declare const WorkloadService: GenService<{
2494
4102
  input: typeof DeleteSandboxRequestSchema;
2495
4103
  output: typeof DeleteSandboxResponseSchema;
2496
4104
  };
4105
+ /**
4106
+ * StopSandbox ends its run and every execution in it and moves it to
4107
+ * CREATED, keeping its VM. Stopping a stopped sandbox returns it as it is.
4108
+ * A sandbox without keep_vm, or one that has ended, fails with
4109
+ * FAILED_PRECONDITION. DeleteSandbox ends a sandbox.
4110
+ *
4111
+ * @generated from rpc toshi.workspace.v1.WorkloadService.StopSandbox
4112
+ */
4113
+ stopSandbox: {
4114
+ methodKind: "unary";
4115
+ input: typeof StopSandboxRequestSchema;
4116
+ output: typeof StopSandboxResponseSchema;
4117
+ };
4118
+ /**
4119
+ * StartSandbox queues a run on its kept VM. Starting a queued or running
4120
+ * sandbox returns it as it is. A sandbox without keep_vm, or one that has
4121
+ * ended, fails with FAILED_PRECONDITION.
4122
+ *
4123
+ * @generated from rpc toshi.workspace.v1.WorkloadService.StartSandbox
4124
+ */
4125
+ startSandbox: {
4126
+ methodKind: "unary";
4127
+ input: typeof StartSandboxRequestSchema;
4128
+ output: typeof StartSandboxResponseSchema;
4129
+ };
2497
4130
  /**
2498
4131
  * WaitSandbox blocks until the sandbox is in one of the states asked for
2499
4132
  * or the bound passes, as WaitJob does for a job.
@@ -2545,6 +4178,59 @@ export declare const WorkloadService: GenService<{
2545
4178
  input: typeof CancelExecutionRequestSchema;
2546
4179
  output: typeof CancelExecutionResponseSchema;
2547
4180
  };
4181
+ /**
4182
+ * ExecuteCommand runs a command as Execute does, with its standard input
4183
+ * closed, for a client that cannot stream a request, such as a browser.
4184
+ * The stream answers as Execute's does: the execution's ID, then its
4185
+ * output, and last its exit. The execution is one of Execute's:
4186
+ * CancelExecution stops it, and a request_key retry of either call
4187
+ * replays it.
4188
+ *
4189
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ExecuteCommand
4190
+ */
4191
+ executeCommand: {
4192
+ methodKind: "server_streaming";
4193
+ input: typeof ExecuteCommandRequestSchema;
4194
+ output: typeof ExecuteCommandResponseSchema;
4195
+ };
4196
+ /**
4197
+ * AnswerPrompt answers a prompt an agent workload waits on, one of its
4198
+ * job's, sandbox's or service's waiting, and returns the
4199
+ * AGENT_ANSWERED event that records the answer and who gave it. The
4200
+ * prompt leaves waiting, and the event reaches the agent through Toshi.
4201
+ * Only a person answers: a call that acts for no person, such as a
4202
+ * workload's own token, fails with PERMISSION_DENIED. A prompt is
4203
+ * answered once: a prompt that is not waiting, answered or ended with
4204
+ * the workload's run, fails with FAILED_PRECONDITION. An approval is
4205
+ * answered "approved" or "denied", a question with options one of them,
4206
+ * and one without options any text of 1 to 4096 bytes; another answer
4207
+ * fails with INVALID_ARGUMENT.
4208
+ *
4209
+ * @generated from rpc toshi.workspace.v1.WorkloadService.AnswerPrompt
4210
+ */
4211
+ answerPrompt: {
4212
+ methodKind: "unary";
4213
+ input: typeof AnswerPromptRequestSchema;
4214
+ output: typeof AnswerPromptResponseSchema;
4215
+ };
4216
+ /**
4217
+ * EmitWorkloadEvent appends an event to a job's, sandbox's or service's
4218
+ * event log, as its guest emits one, and returns it: type EMITTED, the
4219
+ * name given and data. The workload need not be running. The name is 1
4220
+ * to 200 bytes of UTF-8 with no space or control character, and its first
4221
+ * dot-separated segment is none Toshi keeps for its own events (job,
4222
+ * sandbox, run, service, recording, agent, takeover, spend, egress, host,
4223
+ * github, webhook, trigger and mail); data is empty or JSON of at most
4224
+ * 64 KiB. Another fails with INVALID_ARGUMENT, and an unknown workload
4225
+ * with NOT_FOUND.
4226
+ *
4227
+ * @generated from rpc toshi.workspace.v1.WorkloadService.EmitWorkloadEvent
4228
+ */
4229
+ emitWorkloadEvent: {
4230
+ methodKind: "unary";
4231
+ input: typeof EmitWorkloadEventRequestSchema;
4232
+ output: typeof EmitWorkloadEventResponseSchema;
4233
+ };
2548
4234
  /**
2549
4235
  * WatchTelemetry streams a sandbox's resource samples as its host reports
2550
4236
  * them, in cursor order: the samples kept after a cursor, then each one as
@@ -2626,6 +4312,50 @@ export declare const WorkloadService: GenService<{
2626
4312
  input: typeof RevokePreviewShareLinkRequestSchema;
2627
4313
  output: typeof RevokePreviewShareLinkResponseSchema;
2628
4314
  };
4315
+ /**
4316
+ * CreateServiceShareLink mints a share link for one of a service's
4317
+ * provided names: its front channel's, unless the request names another
4318
+ * of its http channels. The link admits one device, the first to open
4319
+ * it, until it expires, carries its byte cap or is revoked, on whichever
4320
+ * run of the service is running, across restarts and redeploys. The link
4321
+ * is in this answer only. The call fails with FAILED_PRECONDITION when
4322
+ * this server serves no provided names, when the service has none, or
4323
+ * when the workspace's plan turns share links off; with NOT_FOUND for a
4324
+ * channel that is not an http channel of the service's current revision;
4325
+ * and with INVALID_ARGUMENT for an expiry or a byte cap above the plan's.
4326
+ *
4327
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CreateServiceShareLink
4328
+ */
4329
+ createServiceShareLink: {
4330
+ methodKind: "unary";
4331
+ input: typeof CreateServiceShareLinkRequestSchema;
4332
+ output: typeof CreateServiceShareLinkResponseSchema;
4333
+ };
4334
+ /**
4335
+ * ListServiceShareLinks returns a service's share links, for all of its
4336
+ * channels, the oldest first, never with the link itself.
4337
+ *
4338
+ * A page holds 100 share links when page_size is zero, and 1000 at most.
4339
+ *
4340
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListServiceShareLinks
4341
+ */
4342
+ listServiceShareLinks: {
4343
+ methodKind: "unary";
4344
+ input: typeof ListServiceShareLinksRequestSchema;
4345
+ output: typeof ListServiceShareLinksResponseSchema;
4346
+ };
4347
+ /**
4348
+ * RevokeServiceShareLink revokes a service's share link: it admits no
4349
+ * device again, and its open connections end within seconds. Revoking a
4350
+ * link that was revoked or has ended returns it as it is.
4351
+ *
4352
+ * @generated from rpc toshi.workspace.v1.WorkloadService.RevokeServiceShareLink
4353
+ */
4354
+ revokeServiceShareLink: {
4355
+ methodKind: "unary";
4356
+ input: typeof RevokeServiceShareLinkRequestSchema;
4357
+ output: typeof RevokeServiceShareLinkResponseSchema;
4358
+ };
2629
4359
  /**
2630
4360
  * CreateService creates a service with its recipe as revision 1 and
2631
4361
  * returns it, created and not started: StartService starts it.
@@ -2661,8 +4391,25 @@ export declare const WorkloadService: GenService<{
2661
4391
  output: typeof ListServicesResponseSchema;
2662
4392
  };
2663
4393
  /**
2664
- * UpdateService changes the fields the mask names and returns the
2665
- * service. Only "labels" can be changed; another path fails with
4394
+ * UpdateService changes the field the mask names and returns the
4395
+ * service. The mask names one path: "labels", or "spec.recipe", which
4396
+ * deploys service.spec.recipe as the service's next revision and selects
4397
+ * it. A deploy stops a live run of another revision, so a started
4398
+ * service's next run runs the new recipe; a stopped service runs it once
4399
+ * started. On a started service the deploy opens the revision's upgrade
4400
+ * window (ServiceRevision.upgrade): a run of the revision that fails in
4401
+ * it, or one not ready when it ends, rolls the service back to the
4402
+ * revision it replaced and restores the state volume's version saved at
4403
+ * the deploy. A recipe that does not parse, or of another template,
4404
+ * fails with INVALID_ARGUMENT, as does another path. "spec.visitors"
4405
+ * sets who the service's verified customer domains admit: OPEN serves a
4406
+ * visitor with neither a session nor a share link, with empty identity
4407
+ * headers, on its customer domains only, and a plan whose
4408
+ * domains.open_requests_per_minute is 0 refuses it with
4409
+ * FAILED_PRECONDITION. Setting the value the service has changes
4410
+ * nothing. "spec.host_kinds" sets the kinds of host its runs may use, in
4411
+ * order (ServiceSpec.host_kinds), its still-queued runs included; an empty
4412
+ * list takes any kind, and a repeated or unspecified kind fails with
2666
4413
  * INVALID_ARGUMENT.
2667
4414
  *
2668
4415
  * @generated from rpc toshi.workspace.v1.WorkloadService.UpdateService
@@ -2767,6 +4514,32 @@ export declare const WorkloadService: GenService<{
2767
4514
  input: typeof WakeServiceRequestSchema;
2768
4515
  output: typeof WakeServiceResponseSchema;
2769
4516
  };
4517
+ /**
4518
+ * HoldWorkload places an operator hold on a sandbox or service. Only an
4519
+ * operator may call it; another caller is refused with PERMISSION_DENIED.
4520
+ * The operator's reason header is required. A running workload is stopped
4521
+ * with reason POLICY and cause OPERATOR; a stopped one only gets the hold.
4522
+ * A job cannot be held; cancel it instead.
4523
+ *
4524
+ * @generated from rpc toshi.workspace.v1.WorkloadService.HoldWorkload
4525
+ */
4526
+ holdWorkload: {
4527
+ methodKind: "unary";
4528
+ input: typeof HoldWorkloadRequestSchema;
4529
+ output: typeof HoldWorkloadResponseSchema;
4530
+ };
4531
+ /**
4532
+ * ReleaseWorkload lifts an operator hold and starts nothing. Only an
4533
+ * operator may call it; another caller is refused with PERMISSION_DENIED.
4534
+ * The operator's reason header is required.
4535
+ *
4536
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ReleaseWorkload
4537
+ */
4538
+ releaseWorkload: {
4539
+ methodKind: "unary";
4540
+ input: typeof ReleaseWorkloadRequestSchema;
4541
+ output: typeof ReleaseWorkloadResponseSchema;
4542
+ };
2770
4543
  /**
2771
4544
  * HoldService takes or renews the caller's hold on a started service:
2772
4545
  * while any hold is live, an on-demand service does not sleep, and a
@@ -2794,6 +4567,225 @@ export declare const WorkloadService: GenService<{
2794
4567
  input: typeof ReleaseServiceRequestSchema;
2795
4568
  output: typeof ReleaseServiceResponseSchema;
2796
4569
  };
4570
+ /**
4571
+ * SetServiceAlarm creates or replaces the service's alarm with this name
4572
+ * and returns it. At each instant of its schedule an alarm publishes its
4573
+ * event, with its data, on one of the service's event channels. Replacing
4574
+ * an alarm raises its generation and schedules it again from now. A
4575
+ * schedule, zone, channel, event or data that is not valid fails with
4576
+ * INVALID_ARGUMENT, as does an event name under a prefix Toshi keeps for
4577
+ * its own events; a channel the service does not declare fails with
4578
+ * NOT_FOUND; a service holding 100 alarms refuses another with
4579
+ * RESOURCE_EXHAUSTED.
4580
+ *
4581
+ * @generated from rpc toshi.workspace.v1.WorkloadService.SetServiceAlarm
4582
+ */
4583
+ setServiceAlarm: {
4584
+ methodKind: "unary";
4585
+ input: typeof SetServiceAlarmRequestSchema;
4586
+ output: typeof SetServiceAlarmResponseSchema;
4587
+ };
4588
+ /**
4589
+ * GetServiceAlarm returns one alarm and its most recent occurrences,
4590
+ * newest first. An unknown name fails with NOT_FOUND.
4591
+ *
4592
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetServiceAlarm
4593
+ */
4594
+ getServiceAlarm: {
4595
+ methodKind: "unary";
4596
+ input: typeof GetServiceAlarmRequestSchema;
4597
+ output: typeof GetServiceAlarmResponseSchema;
4598
+ };
4599
+ /**
4600
+ * ListServiceAlarms returns the service's alarms by name.
4601
+ *
4602
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListServiceAlarms
4603
+ */
4604
+ listServiceAlarms: {
4605
+ methodKind: "unary";
4606
+ input: typeof ListServiceAlarmsRequestSchema;
4607
+ output: typeof ListServiceAlarmsResponseSchema;
4608
+ };
4609
+ /**
4610
+ * DeleteServiceAlarm removes an alarm and its occurrences. Messages it
4611
+ * already published stay on the channel.
4612
+ *
4613
+ * @generated from rpc toshi.workspace.v1.WorkloadService.DeleteServiceAlarm
4614
+ */
4615
+ deleteServiceAlarm: {
4616
+ methodKind: "unary";
4617
+ input: typeof DeleteServiceAlarmRequestSchema;
4618
+ output: typeof DeleteServiceAlarmResponseSchema;
4619
+ };
4620
+ /**
4621
+ * PauseServiceAlarm stops an alarm publishing until it is resumed.
4622
+ * Pausing a paused alarm changes nothing.
4623
+ *
4624
+ * @generated from rpc toshi.workspace.v1.WorkloadService.PauseServiceAlarm
4625
+ */
4626
+ pauseServiceAlarm: {
4627
+ methodKind: "unary";
4628
+ input: typeof PauseServiceAlarmRequestSchema;
4629
+ output: typeof PauseServiceAlarmResponseSchema;
4630
+ };
4631
+ /**
4632
+ * ResumeServiceAlarm starts a paused alarm again from the next instant
4633
+ * of its schedule; instants that passed while it was paused are not
4634
+ * published. An alarm with a single instant that has passed stays
4635
+ * without a next instant. Resuming an alarm that is not paused changes
4636
+ * nothing.
4637
+ *
4638
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ResumeServiceAlarm
4639
+ */
4640
+ resumeServiceAlarm: {
4641
+ methodKind: "unary";
4642
+ input: typeof ResumeServiceAlarmRequestSchema;
4643
+ output: typeof ResumeServiceAlarmResponseSchema;
4644
+ };
4645
+ /**
4646
+ * RunServiceAlarmNow publishes the alarm's event once, now, paused or
4647
+ * not, and returns the occurrence. It does not move the alarm's next
4648
+ * instant.
4649
+ *
4650
+ * @generated from rpc toshi.workspace.v1.WorkloadService.RunServiceAlarmNow
4651
+ */
4652
+ runServiceAlarmNow: {
4653
+ methodKind: "unary";
4654
+ input: typeof RunServiceAlarmNowRequestSchema;
4655
+ output: typeof RunServiceAlarmNowResponseSchema;
4656
+ };
4657
+ /**
4658
+ * StartServiceSignIn runs one of the service's recipe's sign_in programs
4659
+ * and streams what it writes until it ends: the started message names
4660
+ * the sign-in and when it is stopped, the output messages carry its
4661
+ * stdout and stderr, and the ended message says how it ended. A sign-in
4662
+ * may run for 15 minutes; past that the command is cancelled and the
4663
+ * sign-in ends TIMED_OUT. Only one sign-in of a program runs at a time:
4664
+ * a second fails with FAILED_PRECONDITION while the first is under way.
4665
+ * The output is streamed only and never stored.
4666
+ *
4667
+ * A sign-in is answered with AnswerServiceSignIn and ends early with
4668
+ * CancelServiceSignIn; its stream ending for another reason, as a client
4669
+ * that leaves, also ends it, cancelled. An unknown service or a program
4670
+ * its recipe does not declare fails with NOT_FOUND; a service that is
4671
+ * not running fails with FAILED_PRECONDITION.
4672
+ *
4673
+ * @generated from rpc toshi.workspace.v1.WorkloadService.StartServiceSignIn
4674
+ */
4675
+ startServiceSignIn: {
4676
+ methodKind: "server_streaming";
4677
+ input: typeof StartServiceSignInRequestSchema;
4678
+ output: typeof StartServiceSignInResponseSchema;
4679
+ };
4680
+ /**
4681
+ * AnswerServiceSignIn writes one line to a running sign-in's standard
4682
+ * input, from any control plane process: the sign-in's program reads it.
4683
+ * The answer is one line of at most 4 KiB, with no newline in it, and is
4684
+ * never stored. An answer to a sign-in that is not under way fails with
4685
+ * NOT_FOUND; a text that is not one line, or is longer, with
4686
+ * INVALID_ARGUMENT.
4687
+ *
4688
+ * @generated from rpc toshi.workspace.v1.WorkloadService.AnswerServiceSignIn
4689
+ */
4690
+ answerServiceSignIn: {
4691
+ methodKind: "unary";
4692
+ input: typeof AnswerServiceSignInRequestSchema;
4693
+ output: typeof AnswerServiceSignInResponseSchema;
4694
+ };
4695
+ /**
4696
+ * CancelServiceSignIn ends a running sign-in: its program is cancelled
4697
+ * and its stream ends CANCELLED. It returns once the cancel is asked
4698
+ * for, not once the sign-in has ended, and works from any control plane
4699
+ * process. Cancelling a sign-in that is not under way fails with
4700
+ * NOT_FOUND; one that has ended changes nothing.
4701
+ *
4702
+ * @generated from rpc toshi.workspace.v1.WorkloadService.CancelServiceSignIn
4703
+ */
4704
+ cancelServiceSignIn: {
4705
+ methodKind: "unary";
4706
+ input: typeof CancelServiceSignInRequestSchema;
4707
+ output: typeof CancelServiceSignInResponseSchema;
4708
+ };
4709
+ /**
4710
+ * GetServiceSignInStatus runs the status commands of the service's
4711
+ * recipe and reports, for each sign_in program, whether it is signed in
4712
+ * and what its status command wrote. program names one program; empty
4713
+ * asks for every program the recipe declares, in its order. Each command
4714
+ * runs for 30 seconds at most, past which it is not signed in. An output
4715
+ * is cut at 4 KiB, ending with "[cut]". The status is not stored.
4716
+ *
4717
+ * An unknown service or a program its recipe does not declare fails with
4718
+ * NOT_FOUND; a service that is not running fails with
4719
+ * FAILED_PRECONDITION.
4720
+ *
4721
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetServiceSignInStatus
4722
+ */
4723
+ getServiceSignInStatus: {
4724
+ methodKind: "unary";
4725
+ input: typeof GetServiceSignInStatusRequestSchema;
4726
+ output: typeof GetServiceSignInStatusResponseSchema;
4727
+ };
4728
+ /**
4729
+ * ListServiceRevisions returns a service's revisions, newest first, a
4730
+ * page at a time. An unknown ID fails with NOT_FOUND.
4731
+ *
4732
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListServiceRevisions
4733
+ */
4734
+ listServiceRevisions: {
4735
+ methodKind: "unary";
4736
+ input: typeof ListServiceRevisionsRequestSchema;
4737
+ output: typeof ListServiceRevisionsResponseSchema;
4738
+ };
4739
+ /**
4740
+ * GetServiceRevision returns one revision of a service. An unknown ID or
4741
+ * number fails with NOT_FOUND.
4742
+ *
4743
+ * @generated from rpc toshi.workspace.v1.WorkloadService.GetServiceRevision
4744
+ */
4745
+ getServiceRevision: {
4746
+ methodKind: "unary";
4747
+ input: typeof GetServiceRevisionRequestSchema;
4748
+ output: typeof GetServiceRevisionResponseSchema;
4749
+ };
4750
+ /**
4751
+ * RollbackService selects revision, a revision the service already has,
4752
+ * as its current one, and stops its live run, so the next run starts on
4753
+ * it: the recipe comes back, and the mode, size, state volume and secret
4754
+ * values do not change. No revision is made. expected_revision, when
4755
+ * set, must be the selected revision, else FAILED_PRECONDITION naming
4756
+ * the selected one; so is a revision already selected, and a revision
4757
+ * outside the window (ServiceRevision.eligible), with its reason. An
4758
+ * unknown revision is NOT_FOUND. Before anything is selected, the
4759
+ * registry of the revision's container image is asked whether it still
4760
+ * serves the revision's digest, with the recipe's registry login; the
4761
+ * answer is stored on the revision (ServiceRevision.image_check). A
4762
+ * registry that answers it does not is FAILED_PRECONDITION with
4763
+ * ErrorInfo reason IMAGE_NOT_SERVED and the registry's status; one that
4764
+ * cannot be reached, refuses the login or fails is FAILED_PRECONDITION
4765
+ * with reason IMAGE_CHECK_FAILED and its answer. The next run pulls the
4766
+ * revision's image by its digest: nothing is resolved again or built.
4767
+ * The answer carries the activation, whose outcome follows the
4768
+ * revision's next run (ListServiceActivations).
4769
+ *
4770
+ * @generated from rpc toshi.workspace.v1.WorkloadService.RollbackService
4771
+ */
4772
+ rollbackService: {
4773
+ methodKind: "unary";
4774
+ input: typeof RollbackServiceRequestSchema;
4775
+ output: typeof RollbackServiceResponseSchema;
4776
+ };
4777
+ /**
4778
+ * ListServiceActivations returns each time a revision of the service was
4779
+ * selected, by its create, a deploy or a rollback, newest first, a page
4780
+ * at a time, with what came of it.
4781
+ *
4782
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ListServiceActivations
4783
+ */
4784
+ listServiceActivations: {
4785
+ methodKind: "unary";
4786
+ input: typeof ListServiceActivationsRequestSchema;
4787
+ output: typeof ListServiceActivationsResponseSchema;
4788
+ };
2797
4789
  /**
2798
4790
  * ListServiceRuns returns a service's runs, the newest first: each run
2799
4791
  * is a job on a host, of the revision that was current when it was
@@ -2811,6 +4803,8 @@ export declare const WorkloadService: GenService<{
2811
4803
  /**
2812
4804
  * ListEvents returns the events after a cursor, oldest first, a page at a
2813
4805
  * time, for a client that polls or catches up after downtime.
4806
+ * A kept VM discarded for an image change has type KEPT_VM_DISCARDED,
4807
+ * with its run and reason under kept_vm_discarded.
2814
4808
  *
2815
4809
  * A page holds 50 events when page_size is zero, and 500 at most.
2816
4810
  *
@@ -2821,6 +4815,27 @@ export declare const WorkloadService: GenService<{
2821
4815
  input: typeof ListEventsRequestSchema;
2822
4816
  output: typeof ListEventsResponseSchema;
2823
4817
  };
4818
+ /**
4819
+ * ExportEvents streams the selected events as JSON lines, oldest first,
4820
+ * without a row cap. The first line is {"header":{"since":...,"until":...,
4821
+ * "retention_boundary":...|null,"crossed":true|false}}, followed by one
4822
+ * Event per line. The plan must include event export or the call fails with
4823
+ * PERMISSION_DENIED. Project and environment are required as in ListEvents.
4824
+ *
4825
+ * Since is required; until defaults to now. Since must be before until,
4826
+ * else INVALID_ARGUMENT. A cursor from a previous response resumes after
4827
+ * its last row, sending the header again. A malformed cursor or one from
4828
+ * another range or filter fails with INVALID_ARGUMENT; a resume cursor at
4829
+ * or behind the retention boundary fails with OUT_OF_RANGE. When resuming
4830
+ * without an until, the cursor keeps the original range's until.
4831
+ *
4832
+ * @generated from rpc toshi.workspace.v1.WorkloadService.ExportEvents
4833
+ */
4834
+ exportEvents: {
4835
+ methodKind: "server_streaming";
4836
+ input: typeof ExportEventsRequestSchema;
4837
+ output: typeof ExportEventsResponseSchema;
4838
+ };
2824
4839
  /**
2825
4840
  * WatchEvents streams the events after a cursor, then each new event as
2826
4841
  * it is written, for a client that stays connected.