@temporalio/core-bridge 1.10.2 → 1.11.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.
- package/Cargo.lock +563 -676
- package/Cargo.toml +3 -3
- package/lib/index.d.ts +16 -5
- package/lib/index.js.map +1 -1
- package/lib/worker-tuner.d.ts +57 -0
- package/lib/worker-tuner.js +3 -0
- package/lib/worker-tuner.js.map +1 -0
- package/package.json +3 -3
- package/releases/aarch64-apple-darwin/index.node +0 -0
- package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
- package/releases/x86_64-apple-darwin/index.node +0 -0
- package/releases/x86_64-pc-windows-msvc/index.node +0 -0
- package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
- package/sdk-core/.github/workflows/heavy.yml +6 -11
- package/sdk-core/.github/workflows/per-pr.yml +23 -41
- package/sdk-core/Cargo.toml +5 -5
- package/sdk-core/README.md +2 -0
- package/sdk-core/client/Cargo.toml +4 -2
- package/sdk-core/client/src/lib.rs +60 -17
- package/sdk-core/client/src/metrics.rs +1 -1
- package/sdk-core/client/src/proxy.rs +17 -12
- package/sdk-core/client/src/raw.rs +218 -69
- package/sdk-core/client/src/retry.rs +19 -9
- package/sdk-core/core/Cargo.toml +12 -12
- package/sdk-core/core/src/abstractions.rs +3 -3
- package/sdk-core/core/src/core_tests/activity_tasks.rs +2 -1
- package/sdk-core/core/src/core_tests/determinism.rs +1 -1
- package/sdk-core/core/src/core_tests/local_activities.rs +73 -10
- package/sdk-core/core/src/core_tests/queries.rs +2 -1
- package/sdk-core/core/src/core_tests/updates.rs +162 -4
- package/sdk-core/core/src/core_tests/workers.rs +38 -2
- package/sdk-core/core/src/core_tests/workflow_tasks.rs +158 -27
- package/sdk-core/core/src/internal_flags.rs +17 -7
- package/sdk-core/core/src/lib.rs +9 -3
- package/sdk-core/core/src/pollers/poll_buffer.rs +1 -10
- package/sdk-core/core/src/protosext/mod.rs +0 -1
- package/sdk-core/core/src/protosext/protocol_messages.rs +105 -16
- package/sdk-core/core/src/retry_logic.rs +22 -2
- package/sdk-core/core/src/telemetry/otel.rs +44 -12
- package/sdk-core/core/src/test_help/mod.rs +65 -12
- package/sdk-core/core/src/worker/activities/local_activities.rs +1 -4
- package/sdk-core/core/src/worker/activities.rs +3 -4
- package/sdk-core/core/src/worker/client/mocks.rs +7 -6
- package/sdk-core/core/src/worker/client.rs +11 -2
- package/sdk-core/core/src/worker/mod.rs +49 -24
- package/sdk-core/core/src/worker/tuner/resource_based.rs +48 -48
- package/sdk-core/core/src/worker/tuner.rs +124 -4
- package/sdk-core/core/src/worker/workflow/driven_workflow.rs +1 -1
- package/sdk-core/core/src/worker/workflow/history_update.rs +11 -2
- package/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +18 -3
- package/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +4 -4
- package/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +1 -0
- package/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +3 -1
- package/sdk-core/core/src/worker/workflow/machines/update_state_machine.rs +38 -28
- package/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +4 -2
- package/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +95 -71
- package/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +1 -1
- package/sdk-core/core/src/worker/workflow/managed_run.rs +214 -14
- package/sdk-core/core/src/worker/workflow/mod.rs +49 -36
- package/sdk-core/core/src/worker/workflow/workflow_stream.rs +1 -2
- package/sdk-core/core-api/src/errors.rs +13 -7
- package/sdk-core/core-api/src/lib.rs +9 -1
- package/sdk-core/sdk/Cargo.toml +1 -1
- package/sdk-core/sdk/src/activity_context.rs +3 -4
- package/sdk-core/sdk/src/lib.rs +96 -49
- package/sdk-core/sdk/src/workflow_context/options.rs +8 -4
- package/sdk-core/sdk/src/workflow_context.rs +53 -49
- package/sdk-core/sdk/src/workflow_future.rs +10 -4
- package/sdk-core/sdk-core-protos/Cargo.toml +4 -3
- package/sdk-core/sdk-core-protos/build.rs +2 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/.github/workflows/build.yaml +18 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/LICENSE +21 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/Makefile +59 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/README.md +25 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/VERSION +1 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.gen.yaml +14 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.lock +8 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.yaml +9 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/request_response.proto +520 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto +263 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/identity/v1/message.proto +173 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/namespace/v1/message.proto +164 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/operation/v1/message.proto +36 -0
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/region/v1/message.proto +22 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/.github/workflows/trigger-api-go-update.yml +50 -8
- package/sdk-core/sdk-core-protos/protos/api_upstream/.gitmodules +3 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv2.json +132 -54
- package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv3.yaml +177 -81
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/command/v1/message.proto +13 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +2 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +8 -3
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/history/v1/message.proto +10 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/nexus/v1/message.proto +3 -3
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +6 -6
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/enhanced_stack_trace.proto +96 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/user_metadata.proto +49 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/workflow_metadata.proto +6 -7
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +55 -24
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflow/v1/message.proto +7 -0
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +21 -4
- package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +64 -45
- package/sdk-core/sdk-core-protos/src/history_builder.rs +8 -1
- package/sdk-core/sdk-core-protos/src/lib.rs +40 -10
- package/sdk-core/test-utils/src/canned_histories.rs +1 -1
- package/sdk-core/tests/fuzzy_workflow.rs +4 -2
- package/sdk-core/tests/heavy_tests.rs +3 -3
- package/sdk-core/tests/integ_tests/activity_functions.rs +2 -2
- package/sdk-core/tests/integ_tests/client_tests.rs +234 -6
- package/sdk-core/tests/integ_tests/update_tests.rs +180 -47
- package/sdk-core/tests/integ_tests/worker_tests.rs +32 -0
- package/sdk-core/tests/integ_tests/workflow_tests/activities.rs +47 -3
- package/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +10 -10
- package/sdk-core/tests/main.rs +1 -0
- package/src/conversions.rs +84 -11
- package/src/runtime.rs +5 -17
- package/src/worker.rs +27 -6
- package/ts/index.ts +24 -5
- package/ts/worker-tuner.ts +71 -0
|
@@ -0,0 +1,263 @@
|
|
|
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 = "ServiceProto";
|
|
9
|
+
option ruby_package = "Temporalio::Api::Cloud::CloudService::V1";
|
|
10
|
+
option csharp_namespace = "Temporalio.Api.Cloud.CloudService.V1";
|
|
11
|
+
|
|
12
|
+
import "temporal/api/cloud/cloudservice/v1/request_response.proto";
|
|
13
|
+
import "google/api/annotations.proto";
|
|
14
|
+
|
|
15
|
+
// WARNING: This service is currently experimental and may change in
|
|
16
|
+
// incompatible ways.
|
|
17
|
+
service CloudService {
|
|
18
|
+
// Gets all known users
|
|
19
|
+
rpc GetUsers(GetUsersRequest) returns (GetUsersResponse) {
|
|
20
|
+
option (google.api.http) = {
|
|
21
|
+
get: "/cloud/users",
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Get a user
|
|
26
|
+
rpc GetUser(GetUserRequest) returns (GetUserResponse) {
|
|
27
|
+
option (google.api.http) = {
|
|
28
|
+
get: "/cloud/users/{user_id}",
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Create a user
|
|
33
|
+
rpc CreateUser(CreateUserRequest) returns (CreateUserResponse) {
|
|
34
|
+
option (google.api.http) = {
|
|
35
|
+
post: "/cloud/users",
|
|
36
|
+
body: "*"
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Update a user
|
|
41
|
+
rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse) {
|
|
42
|
+
option (google.api.http) = {
|
|
43
|
+
post: "/cloud/users/{user_id}",
|
|
44
|
+
body: "*"
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Delete a user
|
|
49
|
+
rpc DeleteUser(DeleteUserRequest) returns (DeleteUserResponse) {
|
|
50
|
+
option (google.api.http) = {
|
|
51
|
+
delete: "/cloud/users/{user_id}",
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Set a user's access to a namespace
|
|
56
|
+
rpc SetUserNamespaceAccess(SetUserNamespaceAccessRequest) returns (SetUserNamespaceAccessResponse) {
|
|
57
|
+
option (google.api.http) = {
|
|
58
|
+
post: "/cloud/namespaces/{namespace}/users/{user_id}/access",
|
|
59
|
+
body: "*"
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Get the latest information on an async operation
|
|
64
|
+
rpc GetAsyncOperation(GetAsyncOperationRequest) returns (GetAsyncOperationResponse) {
|
|
65
|
+
option (google.api.http) = {
|
|
66
|
+
get: "/cloud/operations/{async_operation_id}",
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Create a new namespace
|
|
71
|
+
rpc CreateNamespace (CreateNamespaceRequest) returns (CreateNamespaceResponse) {
|
|
72
|
+
option (google.api.http) = {
|
|
73
|
+
post: "/cloud/namespaces",
|
|
74
|
+
body: "*"
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Get all namespaces
|
|
79
|
+
rpc GetNamespaces (GetNamespacesRequest) returns (GetNamespacesResponse) {
|
|
80
|
+
option (google.api.http) = {
|
|
81
|
+
get: "/cloud/namespaces",
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Get a namespace
|
|
86
|
+
rpc GetNamespace (GetNamespaceRequest) returns (GetNamespaceResponse) {
|
|
87
|
+
option (google.api.http) = {
|
|
88
|
+
get: "/cloud/namespaces/{namespace}",
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Update a namespace
|
|
93
|
+
rpc UpdateNamespace (UpdateNamespaceRequest) returns (UpdateNamespaceResponse) {
|
|
94
|
+
option (google.api.http) = {
|
|
95
|
+
post: "/cloud/namespaces/{namespace}",
|
|
96
|
+
body: "*"
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Rename an existing customer search attribute
|
|
101
|
+
rpc RenameCustomSearchAttribute (RenameCustomSearchAttributeRequest) returns (RenameCustomSearchAttributeResponse) {
|
|
102
|
+
option (google.api.http) = {
|
|
103
|
+
post: "/cloud/namespaces/{namespace}/rename-custom-search-attribute",
|
|
104
|
+
body: "*"
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Delete a namespace
|
|
109
|
+
rpc DeleteNamespace (DeleteNamespaceRequest) returns (DeleteNamespaceResponse) {
|
|
110
|
+
option (google.api.http) = {
|
|
111
|
+
delete: "/cloud/namespaces/{namespace}",
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Failover a multi-region namespace
|
|
116
|
+
rpc FailoverNamespaceRegion (FailoverNamespaceRegionRequest) returns (FailoverNamespaceRegionResponse) {
|
|
117
|
+
option (google.api.http) = {
|
|
118
|
+
post: "/cloud/namespaces/{namespace}/failover-region",
|
|
119
|
+
body: "*"
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Add a new region to a namespace
|
|
124
|
+
rpc AddNamespaceRegion (AddNamespaceRegionRequest) returns (AddNamespaceRegionResponse) {
|
|
125
|
+
option (google.api.http) = {
|
|
126
|
+
post: "/cloud/namespaces/{namespace}/add-region",
|
|
127
|
+
body: "*"
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Get all regions
|
|
132
|
+
rpc GetRegions (GetRegionsRequest) returns (GetRegionsResponse) {
|
|
133
|
+
option (google.api.http) = {
|
|
134
|
+
get: "/cloud/regions",
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Get a region
|
|
139
|
+
rpc GetRegion (GetRegionRequest) returns (GetRegionResponse) {
|
|
140
|
+
option (google.api.http) = {
|
|
141
|
+
get: "/cloud/regions/{region}",
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Get all known API keys
|
|
146
|
+
rpc GetApiKeys (GetApiKeysRequest) returns (GetApiKeysResponse) {
|
|
147
|
+
option (google.api.http) = {
|
|
148
|
+
get: "/cloud/api-keys",
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Get an API key
|
|
153
|
+
rpc GetApiKey (GetApiKeyRequest) returns (GetApiKeyResponse) {
|
|
154
|
+
option (google.api.http) = {
|
|
155
|
+
get: "/cloud/api-keys/{key_id}",
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// Create an API key
|
|
160
|
+
rpc CreateApiKey (CreateApiKeyRequest) returns (CreateApiKeyResponse) {
|
|
161
|
+
option (google.api.http) = {
|
|
162
|
+
post: "/cloud/api-keys",
|
|
163
|
+
body: "*"
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Update an API key
|
|
168
|
+
rpc UpdateApiKey (UpdateApiKeyRequest) returns (UpdateApiKeyResponse) {
|
|
169
|
+
option (google.api.http) = {
|
|
170
|
+
post: "/cloud/api-keys/{key_id}",
|
|
171
|
+
body: "*"
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Delete an API key
|
|
176
|
+
rpc DeleteApiKey (DeleteApiKeyRequest) returns (DeleteApiKeyResponse) {
|
|
177
|
+
option (google.api.http) = {
|
|
178
|
+
delete: "/cloud/api-keys/{key_id}",
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Get all user groups
|
|
183
|
+
rpc GetUserGroups (GetUserGroupsRequest) returns (GetUserGroupsResponse) {
|
|
184
|
+
option (google.api.http) = {
|
|
185
|
+
get: "/cloud/user-groups",
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// Get a user group
|
|
190
|
+
rpc GetUserGroup (GetUserGroupRequest) returns (GetUserGroupResponse) {
|
|
191
|
+
option (google.api.http) = {
|
|
192
|
+
get: "/cloud/user-groups/{group_id}",
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// Create new a user group
|
|
197
|
+
rpc CreateUserGroup (CreateUserGroupRequest) returns (CreateUserGroupResponse) {
|
|
198
|
+
option (google.api.http) = {
|
|
199
|
+
post: "/cloud/user-groups",
|
|
200
|
+
body: "*"
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// Update a user group
|
|
205
|
+
rpc UpdateUserGroup (UpdateUserGroupRequest) returns (UpdateUserGroupResponse) {
|
|
206
|
+
option (google.api.http) = {
|
|
207
|
+
post: "/cloud/user-groups/{group_id}",
|
|
208
|
+
body: "*"
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Delete a user group
|
|
213
|
+
rpc DeleteUserGroup (DeleteUserGroupRequest) returns (DeleteUserGroupResponse) {
|
|
214
|
+
option (google.api.http) = {
|
|
215
|
+
delete: "/cloud/user-groups/{group_id}",
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// Set a user group's access to a namespace
|
|
220
|
+
rpc SetUserGroupNamespaceAccess (SetUserGroupNamespaceAccessRequest) returns (SetUserGroupNamespaceAccessResponse) {
|
|
221
|
+
option (google.api.http) = {
|
|
222
|
+
post: "/cloud/namespaces/{namespace}/user-groups/{group_id}/access",
|
|
223
|
+
body: "*"
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// Create a service account.
|
|
228
|
+
rpc CreateServiceAccount(CreateServiceAccountRequest) returns (CreateServiceAccountResponse) {
|
|
229
|
+
option (google.api.http) = {
|
|
230
|
+
post: "/cloud/service-accounts",
|
|
231
|
+
body: "*"
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// Get a service account.
|
|
236
|
+
rpc GetServiceAccount(GetServiceAccountRequest) returns (GetServiceAccountResponse) {
|
|
237
|
+
option (google.api.http) = {
|
|
238
|
+
get: "/cloud/service-accounts/{service_account_id}",
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// Get service accounts.
|
|
243
|
+
rpc GetServiceAccounts(GetServiceAccountsRequest) returns (GetServiceAccountsResponse) {
|
|
244
|
+
option (google.api.http) = {
|
|
245
|
+
get: "/cloud/service-accounts",
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// Update a service account.
|
|
250
|
+
rpc UpdateServiceAccount(UpdateServiceAccountRequest) returns (UpdateServiceAccountResponse) {
|
|
251
|
+
option (google.api.http) = {
|
|
252
|
+
post: "/cloud/service-accounts/{service_account_id}",
|
|
253
|
+
body: "*"
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// Delete a service account.
|
|
258
|
+
rpc DeleteServiceAccount(DeleteServiceAccountRequest) returns (DeleteServiceAccountResponse) {
|
|
259
|
+
option (google.api.http) = {
|
|
260
|
+
delete: "/cloud/service-accounts/{service_account_id}",
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package temporal.api.cloud.identity.v1;
|
|
4
|
+
|
|
5
|
+
option go_package = "go.temporal.io/api/cloud/identity/v1;identity";
|
|
6
|
+
option java_package = "io.temporal.api.cloud.identity.v1";
|
|
7
|
+
option java_multiple_files = true;
|
|
8
|
+
option java_outer_classname = "MessageProto";
|
|
9
|
+
option ruby_package = "Temporalio::Api::Cloud::Identity::V1";
|
|
10
|
+
option csharp_namespace = "Temporalio.Api.Cloud.Identity.V1";
|
|
11
|
+
|
|
12
|
+
import "google/protobuf/timestamp.proto";
|
|
13
|
+
|
|
14
|
+
message AccountAccess {
|
|
15
|
+
// The role on the account, should be one of [admin, developer, read]
|
|
16
|
+
// admin - gives full access the account, including users and namespaces
|
|
17
|
+
// developer - gives access to create namespaces on the account
|
|
18
|
+
// read - gives read only access to the account
|
|
19
|
+
string role = 1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
message NamespaceAccess {
|
|
23
|
+
// The permission to the namespace, should be one of [admin, write, read]
|
|
24
|
+
// admin - gives full access to the namespace, including assigning namespace access to other users
|
|
25
|
+
// write - gives write access to the namespace configuration and workflows within the namespace
|
|
26
|
+
// read - gives read only access to the namespace configuration and workflows within the namespace
|
|
27
|
+
string permission = 1;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
message Access {
|
|
31
|
+
// The account access
|
|
32
|
+
AccountAccess account_access = 1;
|
|
33
|
+
// The map of namespace accesses
|
|
34
|
+
// The key is the namespace name and the value is the access to the namespace
|
|
35
|
+
map<string, NamespaceAccess> namespace_accesses = 2;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
message UserSpec {
|
|
39
|
+
// The email address associated to the user
|
|
40
|
+
string email = 1;
|
|
41
|
+
// The access to assigned to the user
|
|
42
|
+
Access access = 2;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
message Invitation {
|
|
46
|
+
// The date and time when the user was created
|
|
47
|
+
google.protobuf.Timestamp created_time = 1;
|
|
48
|
+
// The date and time when the invitation expires or has expired
|
|
49
|
+
google.protobuf.Timestamp expired_time = 2;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
message User {
|
|
53
|
+
// The id of the user
|
|
54
|
+
string id = 1;
|
|
55
|
+
// The current version of the user specification
|
|
56
|
+
// The next update operation will have to include this version
|
|
57
|
+
string resource_version = 2;
|
|
58
|
+
// The user specification
|
|
59
|
+
UserSpec spec = 3;
|
|
60
|
+
// The current state of the user
|
|
61
|
+
string state = 4;
|
|
62
|
+
// The id of the async operation that is creating/updating/deleting the user, if any
|
|
63
|
+
string async_operation_id = 5;
|
|
64
|
+
// The details of the open invitation sent to the user, if any
|
|
65
|
+
Invitation invitation = 6;
|
|
66
|
+
// The date and time when the user was created
|
|
67
|
+
google.protobuf.Timestamp created_time = 7;
|
|
68
|
+
// The date and time when the user was last modified
|
|
69
|
+
// Will not be set if the user has never been modified
|
|
70
|
+
google.protobuf.Timestamp last_modified_time = 8;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
message UserGroupSpec {
|
|
74
|
+
// The name of the group as defined in the customer's IdP (e.g. Google group name in Google Workspace)
|
|
75
|
+
// The name is immutable. Once set, it cannot be changed
|
|
76
|
+
string name = 1;
|
|
77
|
+
// The access assigned to the group
|
|
78
|
+
Access access = 2;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
message UserGroup {
|
|
82
|
+
// The id of the group
|
|
83
|
+
string id = 1;
|
|
84
|
+
// The current version of the group specification
|
|
85
|
+
// The next update operation will have to include this version
|
|
86
|
+
string resource_version = 2;
|
|
87
|
+
// The group specification
|
|
88
|
+
UserGroupSpec spec = 3;
|
|
89
|
+
// The current state of the group
|
|
90
|
+
string state = 4;
|
|
91
|
+
// The id of the async operation that is creating/updating/deleting the group, if any
|
|
92
|
+
string async_operation_id = 5;
|
|
93
|
+
// The date and time when the group was created
|
|
94
|
+
google.protobuf.Timestamp created_time = 6;
|
|
95
|
+
// The date and time when the group was last modified
|
|
96
|
+
// Will not be set if the group has never been modified
|
|
97
|
+
google.protobuf.Timestamp last_modified_time = 7;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
message ServiceAccount {
|
|
101
|
+
// The id of the service account.
|
|
102
|
+
string id = 1;
|
|
103
|
+
// The current version of the service account specification.
|
|
104
|
+
// The next update operation will have to include this version.
|
|
105
|
+
string resource_version = 2;
|
|
106
|
+
// The service account specification.
|
|
107
|
+
ServiceAccountSpec spec = 3;
|
|
108
|
+
// The current state of the service account.
|
|
109
|
+
// Possible values: activating, activationfailed, active, updating, updatefailed, deleting, deletefailed, deleted, suspending, suspendfailed, suspended.
|
|
110
|
+
// For any failed state, reach out to Temporal Cloud support for remediation.
|
|
111
|
+
string state = 4;
|
|
112
|
+
// The id of the async operation that is creating/updating/deleting the service account, if any.
|
|
113
|
+
string async_operation_id = 5;
|
|
114
|
+
// The date and time when the service account was created.
|
|
115
|
+
google.protobuf.Timestamp created_time = 6;
|
|
116
|
+
// The date and time when the service account was last modified
|
|
117
|
+
// Will not be set if the service account has never been modified.
|
|
118
|
+
google.protobuf.Timestamp last_modified_time = 7;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
message ServiceAccountSpec {
|
|
122
|
+
// The name associated with the service account.
|
|
123
|
+
// The name is mutable, but must be unique across all your active service accounts.
|
|
124
|
+
string name = 1;
|
|
125
|
+
// The access assigned to the service account.
|
|
126
|
+
// The access is mutable.
|
|
127
|
+
Access access = 2;
|
|
128
|
+
// The description associated with the service account - optional.
|
|
129
|
+
// The description is mutable.
|
|
130
|
+
string description = 3;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
message ApiKey {
|
|
135
|
+
// The id of the API Key.
|
|
136
|
+
string id = 1;
|
|
137
|
+
// The current version of the API key specification.
|
|
138
|
+
// The next update operation will have to include this version.
|
|
139
|
+
string resource_version = 2;
|
|
140
|
+
// The API key specification.
|
|
141
|
+
ApiKeySpec spec = 3;
|
|
142
|
+
// The current state of the API key.
|
|
143
|
+
// Possible values: activating, activationfailed, active, updating, updatefailed, deleting, deletefailed, deleted, suspending, suspendfailed, suspended.
|
|
144
|
+
// For any failed state, reach out to Temporal Cloud support for remediation.
|
|
145
|
+
string state = 4;
|
|
146
|
+
// The id of the async operation that is creating/updating/deleting the API key, if any.
|
|
147
|
+
string async_operation_id = 5;
|
|
148
|
+
// The date and time when the API key was created.
|
|
149
|
+
google.protobuf.Timestamp created_time = 6;
|
|
150
|
+
// The date and time when the API key was last modified.
|
|
151
|
+
// Will not be set if the API key has never been modified.
|
|
152
|
+
google.protobuf.Timestamp last_modified_time = 7;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
message ApiKeySpec {
|
|
156
|
+
// The id of the owner to create the API key for.
|
|
157
|
+
// The owner id is immutable. Once set during creation, it cannot be changed.
|
|
158
|
+
// The owner id is the id of the user when the owner type is 'user'.
|
|
159
|
+
// The owner id is the id of the service account when the owner type is 'service-account'.
|
|
160
|
+
string owner_id = 1;
|
|
161
|
+
// The type of the owner to create the API key for.
|
|
162
|
+
// The owner type is immutable. Once set during creation, it cannot be changed.
|
|
163
|
+
// Possible values: user, service-account.
|
|
164
|
+
string owner_type = 2;
|
|
165
|
+
// The display name of the API key.
|
|
166
|
+
string display_name = 3;
|
|
167
|
+
// The description of the API key.
|
|
168
|
+
string description = 4;
|
|
169
|
+
// The expiry time of the API key.
|
|
170
|
+
google.protobuf.Timestamp expiry_time = 5;
|
|
171
|
+
// True if the API key is disabled.
|
|
172
|
+
bool disabled = 6;
|
|
173
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package temporal.api.cloud.namespace.v1;
|
|
4
|
+
|
|
5
|
+
option go_package = "go.temporal.io/api/cloud/namespace/v1;namespace";
|
|
6
|
+
option java_package = "io.temporal.api.cloud.namespace.v1";
|
|
7
|
+
option java_multiple_files = true;
|
|
8
|
+
option java_outer_classname = "MessageProto";
|
|
9
|
+
option ruby_package = "Temporalio::Api::Cloud::Namespace::V1";
|
|
10
|
+
option csharp_namespace = "Temporalio.Api.Cloud.Namespace.V1";
|
|
11
|
+
|
|
12
|
+
import "google/protobuf/timestamp.proto";
|
|
13
|
+
|
|
14
|
+
message CertificateFilterSpec {
|
|
15
|
+
// The common_name in the certificate.
|
|
16
|
+
// Optional, default is empty.
|
|
17
|
+
string common_name = 1;
|
|
18
|
+
// The organization in the certificate.
|
|
19
|
+
// Optional, default is empty.
|
|
20
|
+
string organization = 2;
|
|
21
|
+
// The organizational_unit in the certificate.
|
|
22
|
+
// Optional, default is empty.
|
|
23
|
+
string organizational_unit = 3;
|
|
24
|
+
// The subject_alternative_name in the certificate.
|
|
25
|
+
// Optional, default is empty.
|
|
26
|
+
string subject_alternative_name = 4;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
message MtlsAuthSpec {
|
|
30
|
+
// The base64 encoded ca cert(s) in PEM format that the clients can use for authentication and authorization.
|
|
31
|
+
// This must only be one value, but the CA can have a chain.
|
|
32
|
+
//
|
|
33
|
+
// (-- api-linter: core::0140::base64=disabled --)
|
|
34
|
+
string accepted_client_ca = 1;
|
|
35
|
+
// Certificate filters which, if specified, only allow connections from client certificates whose distinguished name properties match at least one of the filters.
|
|
36
|
+
// This allows limiting access to specific end-entity certificates.
|
|
37
|
+
// Optional, default is empty.
|
|
38
|
+
repeated CertificateFilterSpec certificate_filters = 2;
|
|
39
|
+
// Flag to enable mTLS auth (default: disabled).
|
|
40
|
+
// Note: disabling mTLS auth will cause existing mTLS connections to fail.
|
|
41
|
+
// temporal:versioning:min_version=2024-05-13-00
|
|
42
|
+
bool enabled = 3;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
message ApiKeyAuthSpec {
|
|
46
|
+
// Flag to enable API key auth (default: disabled).
|
|
47
|
+
// Note: disabling API key auth will cause existing API key connections to fail.
|
|
48
|
+
bool enabled = 1;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
message CodecServerSpec {
|
|
52
|
+
// The codec server endpoint.
|
|
53
|
+
string endpoint = 1;
|
|
54
|
+
// Whether to pass the user access token with your endpoint.
|
|
55
|
+
bool pass_access_token = 2;
|
|
56
|
+
// Whether to include cross-origin credentials.
|
|
57
|
+
bool include_cross_origin_credentials = 3;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
message NamespaceSpec {
|
|
61
|
+
// The name to use for the namespace.
|
|
62
|
+
// This will create a namespace that's available at '<name>.<account>.tmprl.cloud:7233'.
|
|
63
|
+
// The name is immutable. Once set, it cannot be changed.
|
|
64
|
+
string name = 1;
|
|
65
|
+
// The ids of the regions where the namespace should be available.
|
|
66
|
+
// The GetRegions API can be used to get the list of valid region ids.
|
|
67
|
+
// Specifying more than one region makes the namespace "global", which is currently a preview only feature with restricted access.
|
|
68
|
+
// Please reach out to Temporal support for more information on global namespaces.
|
|
69
|
+
// When provisioned the global namespace will be active on the first region in the list and passive on the rest.
|
|
70
|
+
// Number of supported regions is 2.
|
|
71
|
+
// The regions is immutable. Once set, it cannot be changed.
|
|
72
|
+
// Example: ["aws-us-west-2"].
|
|
73
|
+
repeated string regions = 2;
|
|
74
|
+
// The number of days the workflows data will be retained for.
|
|
75
|
+
// Changes to the retention period may impact your storage costs.
|
|
76
|
+
// Any changes to the retention period will be applied to all new running workflows.
|
|
77
|
+
int32 retention_days = 3;
|
|
78
|
+
// The mTLS auth configuration for the namespace.
|
|
79
|
+
// If unspecified, mTLS will be disabled.
|
|
80
|
+
MtlsAuthSpec mtls_auth = 4;
|
|
81
|
+
// The API key auth configuration for the namespace.
|
|
82
|
+
// If unspecified, API keys will be disabled.
|
|
83
|
+
// temporal:versioning:min_version=2024-05-13-00
|
|
84
|
+
ApiKeyAuthSpec api_key_auth = 7;
|
|
85
|
+
// The custom search attributes to use for the namespace.
|
|
86
|
+
// The name of the attribute is the key and the type is the value.
|
|
87
|
+
// Supported attribute types: text, keyword, int, double, bool, datetime, keyword_list.
|
|
88
|
+
// NOTE: currently deleting a search attribute is not supported.
|
|
89
|
+
// Optional, default is empty.
|
|
90
|
+
map<string, string> custom_search_attributes = 5;
|
|
91
|
+
// Codec server spec used by UI to decode payloads for all users interacting with this namespace.
|
|
92
|
+
// Optional, default is unset.
|
|
93
|
+
CodecServerSpec codec_server = 6;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
message Endpoints {
|
|
97
|
+
// The web UI address.
|
|
98
|
+
string web_address = 1;
|
|
99
|
+
// The gRPC address for mTLS client connections (may be empty if mTLS is disabled).
|
|
100
|
+
string mtls_grpc_address = 2;
|
|
101
|
+
// The gRPC address for API key client connections (may be empty if API keys are disabled).
|
|
102
|
+
string grpc_address = 3;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
message Limits {
|
|
106
|
+
// The number of actions per second (APS) that is currently allowed for the namespace.
|
|
107
|
+
// The namespace may be throttled if its APS exceeds the limit.
|
|
108
|
+
int32 actions_per_second_limit = 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
message AWSPrivateLinkInfo {
|
|
112
|
+
// The list of principal arns that are allowed to access the namespace on the private link.
|
|
113
|
+
repeated string allowed_principal_arns = 1;
|
|
114
|
+
// The list of vpc endpoint service names that are associated with the namespace.
|
|
115
|
+
repeated string vpc_endpoint_service_names = 2;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
message PrivateConnectivity {
|
|
120
|
+
// The id of the region where the private connectivity applies.
|
|
121
|
+
string region = 1;
|
|
122
|
+
// The AWS PrivateLink info.
|
|
123
|
+
// This will only be set for an aws region.
|
|
124
|
+
AWSPrivateLinkInfo aws_private_link = 2;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
message Namespace {
|
|
128
|
+
// The namespace identifier.
|
|
129
|
+
string namespace = 1;
|
|
130
|
+
// The current version of the namespace specification.
|
|
131
|
+
// The next update operation will have to include this version.
|
|
132
|
+
string resource_version = 2;
|
|
133
|
+
// The namespace specification.
|
|
134
|
+
NamespaceSpec spec = 3;
|
|
135
|
+
// The current state of the namespace.
|
|
136
|
+
string state = 4;
|
|
137
|
+
// The id of the async operation that is creating/updating/deleting the namespace, if any.
|
|
138
|
+
string async_operation_id = 5;
|
|
139
|
+
// The endpoints for the namespace.
|
|
140
|
+
Endpoints endpoints = 6;
|
|
141
|
+
// The currently active region for the namespace.
|
|
142
|
+
string active_region = 7;
|
|
143
|
+
// The limits set on the namespace currently.
|
|
144
|
+
Limits limits = 8;
|
|
145
|
+
// The private connectivities for the namespace, if any.
|
|
146
|
+
repeated PrivateConnectivity private_connectivities = 9;
|
|
147
|
+
// The date and time when the namespace was created.
|
|
148
|
+
google.protobuf.Timestamp created_time = 10;
|
|
149
|
+
// The date and time when the namespace was last modified.
|
|
150
|
+
// Will not be set if the namespace has never been modified.
|
|
151
|
+
google.protobuf.Timestamp last_modified_time = 11;
|
|
152
|
+
// The status of each region where the namespace is available.
|
|
153
|
+
// The id of the region is the key and the status is the value of the map.
|
|
154
|
+
map<string, NamespaceRegionStatus> region_status = 12;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
message NamespaceRegionStatus {
|
|
158
|
+
// The current state of the namespace region.
|
|
159
|
+
// Possible values: adding, active, passive, removing, failed.
|
|
160
|
+
// For any failed state, reach out to Temporal Cloud support for remediation.
|
|
161
|
+
string state = 1;
|
|
162
|
+
// The id of the async operation that is making changes to where the namespace is available, if any.
|
|
163
|
+
string async_operation_id = 2;
|
|
164
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package temporal.api.cloud.operation.v1;
|
|
4
|
+
|
|
5
|
+
option go_package = "go.temporal.io/api/cloud/operation/v1;operation";
|
|
6
|
+
option java_package = "io.temporal.api.cloud.operation.v1";
|
|
7
|
+
option java_multiple_files = true;
|
|
8
|
+
option java_outer_classname = "MessageProto";
|
|
9
|
+
option ruby_package = "Temporalio::Api::Cloud::Operation::V1";
|
|
10
|
+
option csharp_namespace = "Temporalio.Api.Cloud.Operation.V1";
|
|
11
|
+
|
|
12
|
+
import "google/protobuf/duration.proto";
|
|
13
|
+
import "google/protobuf/timestamp.proto";
|
|
14
|
+
import "google/protobuf/any.proto";
|
|
15
|
+
|
|
16
|
+
message AsyncOperation {
|
|
17
|
+
// The operation id
|
|
18
|
+
string id = 1;
|
|
19
|
+
// The current state of this operation
|
|
20
|
+
// Possible values are: pending, in_progress, failed, cancelled, fulfilled
|
|
21
|
+
string state = 2;
|
|
22
|
+
// The recommended duration to check back for an update in the operation's state
|
|
23
|
+
google.protobuf.Duration check_duration = 3;
|
|
24
|
+
// The type of operation being performed
|
|
25
|
+
string operation_type = 4;
|
|
26
|
+
// The input to the operation being performed
|
|
27
|
+
//
|
|
28
|
+
// (-- api-linter: core::0146::any=disabled --)
|
|
29
|
+
google.protobuf.Any operation_input = 5;
|
|
30
|
+
// If the operation failed, the reason for the failure
|
|
31
|
+
string failure_reason = 6;
|
|
32
|
+
// The date and time when the operation initiated
|
|
33
|
+
google.protobuf.Timestamp started_time = 7;
|
|
34
|
+
// The date and time when the operation completed
|
|
35
|
+
google.protobuf.Timestamp finished_time = 8;
|
|
36
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package temporal.api.cloud.region.v1;
|
|
4
|
+
|
|
5
|
+
option go_package = "go.temporal.io/api/cloud/region/v1;region";
|
|
6
|
+
option java_package = "io.temporal.api.cloud.region.v1";
|
|
7
|
+
option java_multiple_files = true;
|
|
8
|
+
option java_outer_classname = "MessageProto";
|
|
9
|
+
option ruby_package = "Temporalio::Api::Cloud::Region::V1";
|
|
10
|
+
option csharp_namespace = "Temporalio.Api.Cloud.Region.V1";
|
|
11
|
+
|
|
12
|
+
message Region {
|
|
13
|
+
// The id of the temporal cloud region.
|
|
14
|
+
string id = 1;
|
|
15
|
+
// The name of the cloud provider that's hosting the region.
|
|
16
|
+
// Currently only "aws" is supported.
|
|
17
|
+
string cloud_provider = 2;
|
|
18
|
+
// The region identifier as defined by the cloud provider.
|
|
19
|
+
string cloud_provider_region = 3;
|
|
20
|
+
// The human readable location of the region.
|
|
21
|
+
string location = 4;
|
|
22
|
+
}
|