@temporalio/core-bridge 1.10.3 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/Cargo.lock +563 -676
  2. package/Cargo.toml +3 -3
  3. package/lib/index.d.ts +16 -5
  4. package/lib/index.js.map +1 -1
  5. package/lib/worker-tuner.d.ts +57 -0
  6. package/lib/worker-tuner.js +3 -0
  7. package/lib/worker-tuner.js.map +1 -0
  8. package/package.json +3 -3
  9. package/releases/aarch64-apple-darwin/index.node +0 -0
  10. package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
  11. package/releases/x86_64-apple-darwin/index.node +0 -0
  12. package/releases/x86_64-pc-windows-msvc/index.node +0 -0
  13. package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
  14. package/sdk-core/.github/workflows/heavy.yml +6 -11
  15. package/sdk-core/.github/workflows/per-pr.yml +23 -41
  16. package/sdk-core/Cargo.toml +5 -5
  17. package/sdk-core/README.md +2 -0
  18. package/sdk-core/client/Cargo.toml +4 -2
  19. package/sdk-core/client/src/lib.rs +60 -17
  20. package/sdk-core/client/src/metrics.rs +1 -1
  21. package/sdk-core/client/src/proxy.rs +17 -12
  22. package/sdk-core/client/src/raw.rs +218 -69
  23. package/sdk-core/client/src/retry.rs +19 -9
  24. package/sdk-core/core/Cargo.toml +12 -12
  25. package/sdk-core/core/src/abstractions.rs +3 -3
  26. package/sdk-core/core/src/core_tests/activity_tasks.rs +2 -1
  27. package/sdk-core/core/src/core_tests/determinism.rs +1 -1
  28. package/sdk-core/core/src/core_tests/local_activities.rs +73 -10
  29. package/sdk-core/core/src/core_tests/queries.rs +2 -1
  30. package/sdk-core/core/src/core_tests/updates.rs +162 -4
  31. package/sdk-core/core/src/core_tests/workers.rs +38 -2
  32. package/sdk-core/core/src/core_tests/workflow_tasks.rs +158 -27
  33. package/sdk-core/core/src/internal_flags.rs +17 -7
  34. package/sdk-core/core/src/lib.rs +9 -3
  35. package/sdk-core/core/src/pollers/poll_buffer.rs +1 -10
  36. package/sdk-core/core/src/protosext/mod.rs +0 -1
  37. package/sdk-core/core/src/protosext/protocol_messages.rs +105 -16
  38. package/sdk-core/core/src/retry_logic.rs +22 -2
  39. package/sdk-core/core/src/telemetry/otel.rs +44 -12
  40. package/sdk-core/core/src/test_help/mod.rs +65 -12
  41. package/sdk-core/core/src/worker/activities/local_activities.rs +1 -4
  42. package/sdk-core/core/src/worker/activities.rs +3 -4
  43. package/sdk-core/core/src/worker/client/mocks.rs +7 -6
  44. package/sdk-core/core/src/worker/client.rs +11 -2
  45. package/sdk-core/core/src/worker/mod.rs +49 -24
  46. package/sdk-core/core/src/worker/tuner/resource_based.rs +48 -48
  47. package/sdk-core/core/src/worker/tuner.rs +124 -4
  48. package/sdk-core/core/src/worker/workflow/driven_workflow.rs +1 -1
  49. package/sdk-core/core/src/worker/workflow/history_update.rs +11 -2
  50. package/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +18 -3
  51. package/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +1 -0
  52. package/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +1 -0
  53. package/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +1 -0
  54. package/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +1 -0
  55. package/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +1 -0
  56. package/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +1 -0
  57. package/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +4 -4
  58. package/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +1 -0
  59. package/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +1 -0
  60. package/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +1 -0
  61. package/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +3 -1
  62. package/sdk-core/core/src/worker/workflow/machines/update_state_machine.rs +38 -28
  63. package/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +4 -2
  64. package/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +95 -71
  65. package/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +1 -1
  66. package/sdk-core/core/src/worker/workflow/managed_run.rs +214 -14
  67. package/sdk-core/core/src/worker/workflow/mod.rs +49 -36
  68. package/sdk-core/core/src/worker/workflow/workflow_stream.rs +1 -2
  69. package/sdk-core/core-api/src/errors.rs +13 -7
  70. package/sdk-core/core-api/src/lib.rs +9 -1
  71. package/sdk-core/sdk/Cargo.toml +1 -1
  72. package/sdk-core/sdk/src/activity_context.rs +3 -4
  73. package/sdk-core/sdk/src/lib.rs +96 -49
  74. package/sdk-core/sdk/src/workflow_context/options.rs +8 -4
  75. package/sdk-core/sdk/src/workflow_context.rs +53 -49
  76. package/sdk-core/sdk/src/workflow_future.rs +10 -4
  77. package/sdk-core/sdk-core-protos/Cargo.toml +4 -3
  78. package/sdk-core/sdk-core-protos/build.rs +2 -0
  79. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/.github/workflows/build.yaml +18 -0
  80. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/LICENSE +21 -0
  81. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/Makefile +59 -0
  82. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/README.md +25 -0
  83. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/VERSION +1 -0
  84. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.gen.yaml +14 -0
  85. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.lock +8 -0
  86. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.yaml +9 -0
  87. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/request_response.proto +520 -0
  88. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto +263 -0
  89. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/identity/v1/message.proto +173 -0
  90. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/namespace/v1/message.proto +164 -0
  91. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/operation/v1/message.proto +36 -0
  92. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/region/v1/message.proto +22 -0
  93. package/sdk-core/sdk-core-protos/protos/api_upstream/.github/workflows/trigger-api-go-update.yml +50 -8
  94. package/sdk-core/sdk-core-protos/protos/api_upstream/.gitmodules +3 -0
  95. package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv2.json +132 -54
  96. package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv3.yaml +177 -81
  97. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/command/v1/message.proto +13 -0
  98. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +2 -0
  99. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +8 -3
  100. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/history/v1/message.proto +10 -0
  101. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/nexus/v1/message.proto +3 -3
  102. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +6 -6
  103. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/enhanced_stack_trace.proto +96 -0
  104. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/user_metadata.proto +49 -0
  105. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/workflow_metadata.proto +6 -7
  106. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +55 -24
  107. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflow/v1/message.proto +7 -0
  108. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +21 -4
  109. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +64 -45
  110. package/sdk-core/sdk-core-protos/src/history_builder.rs +8 -1
  111. package/sdk-core/sdk-core-protos/src/lib.rs +40 -10
  112. package/sdk-core/test-utils/src/canned_histories.rs +1 -1
  113. package/sdk-core/tests/fuzzy_workflow.rs +4 -2
  114. package/sdk-core/tests/heavy_tests.rs +3 -3
  115. package/sdk-core/tests/integ_tests/activity_functions.rs +2 -2
  116. package/sdk-core/tests/integ_tests/client_tests.rs +234 -6
  117. package/sdk-core/tests/integ_tests/update_tests.rs +180 -47
  118. package/sdk-core/tests/integ_tests/worker_tests.rs +32 -0
  119. package/sdk-core/tests/integ_tests/workflow_tests/activities.rs +47 -3
  120. package/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +10 -10
  121. package/sdk-core/tests/main.rs +1 -0
  122. package/src/conversions.rs +84 -11
  123. package/src/runtime.rs +5 -17
  124. package/src/worker.rs +27 -6
  125. package/ts/index.ts +24 -5
  126. package/ts/worker-tuner.ts +71 -0
@@ -0,0 +1,520 @@
1
+ syntax = "proto3";
2
+
3
+ package temporal.api.cloud.cloudservice.v1;
4
+
5
+ option go_package = "go.temporal.io/api/cloud/cloudservice/v1;cloudservice";
6
+ option java_package = "io.temporal.api.cloud.cloudservice.v1";
7
+ option java_multiple_files = true;
8
+ option java_outer_classname = "RequestResponseProto";
9
+ option ruby_package = "Temporalio::Api::Cloud::CloudService::V1";
10
+ option csharp_namespace = "Temporalio.Api.Cloud.CloudService.V1";
11
+
12
+ import "temporal/api/cloud/operation/v1/message.proto";
13
+ import "temporal/api/cloud/identity/v1/message.proto";
14
+ import "temporal/api/cloud/namespace/v1/message.proto";
15
+ import "temporal/api/cloud/region/v1/message.proto";
16
+
17
+ message GetUsersRequest {
18
+ // The requested size of the page to retrieve - optional.
19
+ // Cannot exceed 1000. Defaults to 100.
20
+ int32 page_size = 1;
21
+ // The page token if this is continuing from another response - optional.
22
+ string page_token = 2;
23
+ // Filter users by email address - optional.
24
+ string email = 3;
25
+ // Filter users by the namespace they have access to - optional.
26
+ string namespace = 4;
27
+ }
28
+
29
+ message GetUsersResponse {
30
+ // The list of users in ascending ids order
31
+ repeated temporal.api.cloud.identity.v1.User users = 1;
32
+ // The next page's token
33
+ string next_page_token = 2;
34
+ }
35
+
36
+ message GetUserRequest {
37
+ // The id of the user to get
38
+ string user_id = 1;
39
+ }
40
+
41
+ message GetUserResponse {
42
+ // The user
43
+ temporal.api.cloud.identity.v1.User user = 1;
44
+ }
45
+
46
+ message CreateUserRequest {
47
+ // The spec for the user to invite
48
+ temporal.api.cloud.identity.v1.UserSpec spec = 1;
49
+ // The id to use for this async operation - optional
50
+ string async_operation_id = 2;
51
+ }
52
+
53
+ message CreateUserResponse {
54
+ // The id of the user that was invited
55
+ string user_id = 1;
56
+ // The async operation
57
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 2;
58
+ }
59
+
60
+ message UpdateUserRequest {
61
+ // The id of the user to update
62
+ string user_id = 1;
63
+ // The new user specification
64
+ temporal.api.cloud.identity.v1.UserSpec spec = 2;
65
+ // The version of the user for which this update is intended for
66
+ // The latest version can be found in the GetUser operation response
67
+ string resource_version = 3;
68
+ // The id to use for this async operation - optional
69
+ string async_operation_id = 4;
70
+ }
71
+
72
+ message UpdateUserResponse {
73
+ // The async operation
74
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
75
+ }
76
+
77
+ message DeleteUserRequest {
78
+ // The id of the user to delete
79
+ string user_id = 1;
80
+ // The version of the user for which this delete is intended for
81
+ // The latest version can be found in the GetUser operation response
82
+ string resource_version = 2;
83
+ // The id to use for this async operation - optional
84
+ string async_operation_id = 3;
85
+ }
86
+
87
+ message DeleteUserResponse {
88
+ // The async operation
89
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
90
+ }
91
+
92
+ message SetUserNamespaceAccessRequest {
93
+ // The namespace to set permissions for
94
+ string namespace = 1;
95
+ // The id of the user to set permissions for
96
+ string user_id = 2;
97
+ // The namespace access to assign the user
98
+ temporal.api.cloud.identity.v1.NamespaceAccess access = 3;
99
+ // The version of the user for which this update is intended for
100
+ // The latest version can be found in the GetUser operation response
101
+ string resource_version = 4;
102
+ // The id to use for this async operation - optional
103
+ string async_operation_id = 5;
104
+ }
105
+
106
+ message SetUserNamespaceAccessResponse {
107
+ // The async operation
108
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
109
+ }
110
+
111
+ message GetAsyncOperationRequest {
112
+ // The id of the async operation to get
113
+ string async_operation_id = 1;
114
+ }
115
+
116
+ message GetAsyncOperationResponse {
117
+ // The async operation
118
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
119
+ }
120
+
121
+ message CreateNamespaceRequest {
122
+ // The namespace specification.
123
+ temporal.api.cloud.namespace.v1.NamespaceSpec spec = 2;
124
+ // The id to use for this async operation.
125
+ // Optional, if not provided a random id will be generated.
126
+ string async_operation_id = 3;
127
+ }
128
+
129
+ message CreateNamespaceResponse {
130
+ // The namespace that was created.
131
+ string namespace = 1;
132
+ // The async operation.
133
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 2;
134
+ }
135
+
136
+ message GetNamespacesRequest {
137
+ // The requested size of the page to retrieve.
138
+ // Cannot exceed 1000.
139
+ // Optional, defaults to 100.
140
+ int32 page_size = 1;
141
+ // The page token if this is continuing from another response.
142
+ // Optional, defaults to empty.
143
+ string page_token = 2;
144
+ // Filter namespaces by their name.
145
+ // Optional, defaults to empty.
146
+ string name = 3;
147
+ }
148
+
149
+ message GetNamespacesResponse {
150
+ // The list of namespaces in ascending name order.
151
+ repeated temporal.api.cloud.namespace.v1.Namespace namespaces = 1;
152
+ // The next page's token.
153
+ string next_page_token = 2;
154
+ }
155
+
156
+ message GetNamespaceRequest {
157
+ // The namespace to get.
158
+ string namespace = 1;
159
+ }
160
+
161
+ message GetNamespaceResponse {
162
+ // The namespace.
163
+ temporal.api.cloud.namespace.v1.Namespace namespace = 1;
164
+ }
165
+
166
+ message UpdateNamespaceRequest {
167
+ // The namespace to update.
168
+ string namespace = 1;
169
+ // The new namespace specification.
170
+ temporal.api.cloud.namespace.v1.NamespaceSpec spec = 2;
171
+ // The version of the namespace for which this update is intended for.
172
+ // The latest version can be found in the namespace status.
173
+ string resource_version = 3;
174
+ // The id to use for this async operation.
175
+ // Optional, if not provided a random id will be generated.
176
+ string async_operation_id = 4;
177
+ }
178
+
179
+ message UpdateNamespaceResponse {
180
+ // The async operation.
181
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
182
+ }
183
+
184
+ message RenameCustomSearchAttributeRequest {
185
+ // The namespace to rename the custom search attribute for.
186
+ string namespace = 1;
187
+ // The existing name of the custom search attribute to be renamed.
188
+ string existing_custom_search_attribute_name = 2;
189
+ // The new name of the custom search attribute.
190
+ string new_custom_search_attribute_name = 3;
191
+ // The version of the namespace for which this update is intended for.
192
+ // The latest version can be found in the namespace status.
193
+ string resource_version = 4;
194
+ // The id to use for this async operation.
195
+ // Optional, if not provided a random id will be generated.
196
+ string async_operation_id = 5;
197
+ }
198
+
199
+ message RenameCustomSearchAttributeResponse {
200
+ // The async operation.
201
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
202
+ }
203
+
204
+ message DeleteNamespaceRequest {
205
+ // The namespace to delete.
206
+ string namespace = 1;
207
+ // The version of the namespace for which this delete is intended for.
208
+ // The latest version can be found in the namespace status.
209
+ string resource_version = 2;
210
+ // The id to use for this async operation.
211
+ // Optional, if not provided a random id will be generated.
212
+ string async_operation_id = 3;
213
+ }
214
+
215
+ message DeleteNamespaceResponse {
216
+ // The async operation.
217
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
218
+ }
219
+
220
+ message FailoverNamespaceRegionRequest {
221
+ // The namespace to failover.
222
+ string namespace = 1;
223
+ // The id of the region to failover to.
224
+ // Must be a region that the namespace is currently available in.
225
+ string region = 2;
226
+ // The id to use for this async operation - optional.
227
+ string async_operation_id = 3;
228
+ }
229
+
230
+ message FailoverNamespaceRegionResponse {
231
+ // The async operation.
232
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
233
+ }
234
+
235
+ message AddNamespaceRegionRequest {
236
+ // The namespace to add the region to.
237
+ string namespace = 1;
238
+ // The id of the standby region to add to the namespace.
239
+ // The GetRegions API can be used to get the list of valid region ids.
240
+ // Example: "aws-us-west-2".
241
+ string region = 2;
242
+ // The version of the namespace for which this add region operation is intended for.
243
+ // The latest version can be found in the GetNamespace operation response.
244
+ string resource_version = 3;
245
+ // The id to use for this async operation - optional.
246
+ string async_operation_id = 4;
247
+ }
248
+
249
+ message AddNamespaceRegionResponse {
250
+ // The async operation.
251
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
252
+ }
253
+
254
+ message GetRegionsRequest {
255
+ }
256
+
257
+ message GetRegionsResponse {
258
+ // The temporal cloud regions.
259
+ repeated temporal.api.cloud.region.v1.Region regions = 1;
260
+ }
261
+
262
+ message GetRegionRequest {
263
+ // The id of the region to get.
264
+ string region = 1;
265
+ }
266
+
267
+ message GetRegionResponse {
268
+ // The temporal cloud region.
269
+ temporal.api.cloud.region.v1.Region region = 1;
270
+ }
271
+
272
+
273
+ message GetApiKeysRequest {
274
+ // The requested size of the page to retrieve - optional.
275
+ // Cannot exceed 1000. Defaults to 100.
276
+ int32 page_size = 1;
277
+ // The page token if this is continuing from another response - optional.
278
+ string page_token = 2;
279
+ // Filter api keys by owner id - optional.
280
+ string owner_id = 3;
281
+ // Filter api keys by owner type - optional.
282
+ // Possible values: user, service-account
283
+ string owner_type = 4;
284
+ }
285
+
286
+ message GetApiKeysResponse {
287
+ // The list of api keys in ascending id order.
288
+ repeated temporal.api.cloud.identity.v1.ApiKey api_keys = 1;
289
+ // The next page's token.
290
+ string next_page_token = 2;
291
+ }
292
+
293
+ message GetApiKeyRequest {
294
+ // The id of the api key to get.
295
+ string key_id = 1;
296
+ }
297
+
298
+ message GetApiKeyResponse {
299
+ // The api key.
300
+ temporal.api.cloud.identity.v1.ApiKey api_key = 1;
301
+ }
302
+
303
+ message CreateApiKeyRequest {
304
+ // The spec for the api key to create.
305
+ // Create api key only supports service-account owner type for now.
306
+ temporal.api.cloud.identity.v1.ApiKeySpec spec = 1;
307
+ // The id to use for this async operation - optional.
308
+ string async_operation_id = 2;
309
+ }
310
+
311
+ message CreateApiKeyResponse {
312
+ // The id of the api key created.
313
+ string key_id = 1;
314
+ // The token of the api key created.
315
+ // This is a secret and should be stored securely.
316
+ // It will not be retrievable after this response.
317
+ string token = 2;
318
+ // The async operation.
319
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 3;
320
+ }
321
+
322
+ message UpdateApiKeyRequest {
323
+ // The id of the api key to update.
324
+ string key_id = 1;
325
+ // The new api key specification.
326
+ temporal.api.cloud.identity.v1.ApiKeySpec spec = 2;
327
+ // The version of the api key for which this update is intended for.
328
+ // The latest version can be found in the GetApiKey operation response.
329
+ string resource_version = 3;
330
+ // The id to use for this async operation - optional.
331
+ string async_operation_id = 4;
332
+ }
333
+
334
+ message UpdateApiKeyResponse {
335
+ // The async operation.
336
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
337
+ }
338
+
339
+ message DeleteApiKeyRequest {
340
+ // The id of the api key to delete.
341
+ string key_id = 1;
342
+ // The version of the api key for which this delete is intended for.
343
+ // The latest version can be found in the GetApiKey operation response.
344
+ string resource_version = 2;
345
+ // The id to use for this async operation - optional.
346
+ string async_operation_id = 3;
347
+ }
348
+
349
+ message DeleteApiKeyResponse {
350
+ // The async operation.
351
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
352
+ }
353
+
354
+ message GetUserGroupsRequest {
355
+ // The requested size of the page to retrieve - optional.
356
+ // Cannot exceed 1000. Defaults to 100.
357
+ int32 page_size = 1;
358
+ // The page token if this is continuing from another response - optional.
359
+ string page_token = 2;
360
+ // Filter groups by the namespace they have access to - optional.
361
+ string namespace = 3;
362
+ // Filter groups by their name - optional.
363
+ string group_name = 4;
364
+ }
365
+
366
+ message GetUserGroupsResponse {
367
+ // The list of groups in ascending name order.
368
+ repeated temporal.api.cloud.identity.v1.UserGroup groups = 1;
369
+ // The next page's token.
370
+ string next_page_token = 2;
371
+ }
372
+
373
+ message GetUserGroupRequest {
374
+ // The id of the group to get.
375
+ string group_id = 1;
376
+ }
377
+
378
+ message GetUserGroupResponse {
379
+ // The group.
380
+ temporal.api.cloud.identity.v1.UserGroup group = 1;
381
+ }
382
+
383
+ message CreateUserGroupRequest {
384
+ // The spec for the group to create.
385
+ temporal.api.cloud.identity.v1.UserGroupSpec spec = 1;
386
+ // The id to use for this async operation.
387
+ // Optional, if not provided a random id will be generated.
388
+ string async_operation_id = 2;
389
+ }
390
+
391
+ message CreateUserGroupResponse {
392
+ // The id of the group that was created.
393
+ string group_id = 1;
394
+ // The async operation.
395
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 2;
396
+ }
397
+
398
+ message UpdateUserGroupRequest {
399
+ // The id of the group to update.
400
+ string group_id = 1;
401
+ // The new group specification.
402
+ temporal.api.cloud.identity.v1.UserGroupSpec spec = 2;
403
+ // The version of the group for which this update is intended for.
404
+ // The latest version can be found in the GetGroup operation response.
405
+ string resource_version = 3;
406
+ // The id to use for this async operation.
407
+ // Optional, if not provided a random id will be generated.
408
+ string async_operation_id = 4;
409
+ }
410
+
411
+ message UpdateUserGroupResponse {
412
+ // The async operation.
413
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
414
+ }
415
+
416
+ message DeleteUserGroupRequest {
417
+ // The id of the group to delete.
418
+ string group_id = 1;
419
+ // The version of the group for which this delete is intended for.
420
+ // The latest version can be found in the GetGroup operation response.
421
+ string resource_version = 2;
422
+ // The id to use for this async operation.
423
+ // Optional, if not provided a random id will be generated.
424
+ string async_operation_id = 3;
425
+ }
426
+
427
+ message DeleteUserGroupResponse {
428
+ // The async operation.
429
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
430
+ }
431
+
432
+ message SetUserGroupNamespaceAccessRequest {
433
+ // The namespace to set permissions for.
434
+ string namespace = 1;
435
+ // The id of the group to set permissions for.
436
+ string group_id = 2;
437
+ // The namespace access to assign the group. If left empty, the group will be removed from the namespace access.
438
+ temporal.api.cloud.identity.v1.NamespaceAccess access = 3;
439
+ // The version of the group for which this update is intended for.
440
+ // The latest version can be found in the GetGroup operation response.
441
+ string resource_version = 4;
442
+ // The id to use for this async operation - optional.
443
+ string async_operation_id = 5;
444
+ }
445
+
446
+ message SetUserGroupNamespaceAccessResponse {
447
+ // The async operation.
448
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
449
+ }
450
+
451
+ message CreateServiceAccountRequest {
452
+ // The spec of the service account to create.
453
+ temporal.api.cloud.identity.v1.ServiceAccountSpec spec = 1;
454
+ // The ID to use for this async operation - optional.
455
+ string async_operation_id = 2;
456
+ }
457
+
458
+ message CreateServiceAccountResponse {
459
+ // The ID of the created service account.
460
+ string service_account_id = 1;
461
+ // The async operation.
462
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 2;
463
+ }
464
+
465
+ message GetServiceAccountRequest {
466
+ // ID of the service account to retrieve.
467
+ string service_account_id = 1;
468
+ }
469
+
470
+ message GetServiceAccountResponse {
471
+ // The service account retrieved.
472
+ temporal.api.cloud.identity.v1.ServiceAccount service_account = 1;
473
+ }
474
+
475
+ message GetServiceAccountsRequest {
476
+ // The requested size of the page to retrieve - optional.
477
+ // Cannot exceed 1000. Defaults to 100.
478
+ int32 page_size = 1;
479
+ // The page token if this is continuing from another response - optional.
480
+ string page_token = 2;
481
+ }
482
+
483
+ message GetServiceAccountsResponse {
484
+ // The list of service accounts in ascending ID order.
485
+ repeated temporal.api.cloud.identity.v1.ServiceAccount service_account = 1;
486
+ // The next page token, set if there is another page.
487
+ string next_page_token = 2;
488
+ }
489
+
490
+ message UpdateServiceAccountRequest {
491
+ // The ID of the service account to update.
492
+ string service_account_id = 1;
493
+ // The new service account specification.
494
+ temporal.api.cloud.identity.v1.ServiceAccountSpec spec = 2;
495
+ // The version of the service account for which this update is intended for.
496
+ // The latest version can be found in the GetServiceAccount response.
497
+ string resource_version = 3;
498
+ // The ID to use for this async operation - optional.
499
+ string async_operation_id = 4;
500
+ }
501
+
502
+ message UpdateServiceAccountResponse {
503
+ // The async operation.
504
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
505
+ }
506
+
507
+ message DeleteServiceAccountRequest {
508
+ // The ID of the service account to delete;
509
+ string service_account_id = 1;
510
+ // The version of the service account for which this update is intended for.
511
+ // The latest version can be found in the GetServiceAccount response.
512
+ string resource_version = 2;
513
+ // The ID to use for this async operation - optional.
514
+ string async_operation_id = 3;
515
+ }
516
+
517
+ message DeleteServiceAccountResponse {
518
+ // The async operation.
519
+ temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1;
520
+ }