dapr-ruby 0.4.2

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.
@@ -0,0 +1,1044 @@
1
+ /*
2
+ Copyright 2021 The Dapr Authors
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+ http://www.apache.org/licenses/LICENSE-2.0
7
+ Unless required by applicable law or agreed to in writing, software
8
+ distributed under the License is distributed on an "AS IS" BASIS,
9
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ See the License for the specific language governing permissions and
11
+ limitations under the License.
12
+ */
13
+
14
+ syntax = "proto3";
15
+
16
+ package dapr.proto.runtime.v1;
17
+
18
+ import "google/protobuf/any.proto";
19
+ import "google/protobuf/empty.proto";
20
+ import "google/protobuf/timestamp.proto";
21
+ import "dapr/proto/common/v1/common.proto";
22
+
23
+ option csharp_namespace = "Dapr.Client.Autogen.Grpc.v1";
24
+ option java_outer_classname = "DaprProtos";
25
+ option java_package = "io.dapr.v1";
26
+ option go_package = "github.com/dapr/dapr/pkg/proto/runtime/v1;runtime";
27
+
28
+ // Dapr service provides APIs to user application to access Dapr building blocks.
29
+ service Dapr {
30
+ // Invokes a method on a remote Dapr app.
31
+ // Deprecated: Use proxy mode service invocation instead.
32
+ rpc InvokeService(InvokeServiceRequest) returns (common.v1.InvokeResponse) {}
33
+
34
+ // Gets the state for a specific key.
35
+ rpc GetState(GetStateRequest) returns (GetStateResponse) {}
36
+
37
+ // Gets a bulk of state items for a list of keys
38
+ rpc GetBulkState(GetBulkStateRequest) returns (GetBulkStateResponse) {}
39
+
40
+ // Saves the state for a specific key.
41
+ rpc SaveState(SaveStateRequest) returns (google.protobuf.Empty) {}
42
+
43
+ // Queries the state.
44
+ rpc QueryStateAlpha1(QueryStateRequest) returns (QueryStateResponse) {}
45
+
46
+ // Deletes the state for a specific key.
47
+ rpc DeleteState(DeleteStateRequest) returns (google.protobuf.Empty) {}
48
+
49
+ // Deletes a bulk of state items for a list of keys
50
+ rpc DeleteBulkState(DeleteBulkStateRequest) returns (google.protobuf.Empty) {}
51
+
52
+ // Executes transactions for a specified store
53
+ rpc ExecuteStateTransaction(ExecuteStateTransactionRequest) returns (google.protobuf.Empty) {}
54
+
55
+ // Publishes events to the specific topic.
56
+ rpc PublishEvent(PublishEventRequest) returns (google.protobuf.Empty) {}
57
+
58
+ // Bulk Publishes multiple events to the specified topic.
59
+ rpc BulkPublishEventAlpha1(BulkPublishRequest) returns (BulkPublishResponse) {}
60
+
61
+ // Invokes binding data to specific output bindings
62
+ rpc InvokeBinding(InvokeBindingRequest) returns (InvokeBindingResponse) {}
63
+
64
+ // Gets secrets from secret stores.
65
+ rpc GetSecret(GetSecretRequest) returns (GetSecretResponse) {}
66
+
67
+ // Gets a bulk of secrets
68
+ rpc GetBulkSecret(GetBulkSecretRequest) returns (GetBulkSecretResponse) {}
69
+
70
+ // Register an actor timer.
71
+ rpc RegisterActorTimer(RegisterActorTimerRequest) returns (google.protobuf.Empty) {}
72
+
73
+ // Unregister an actor timer.
74
+ rpc UnregisterActorTimer(UnregisterActorTimerRequest) returns (google.protobuf.Empty) {}
75
+
76
+ // Register an actor reminder.
77
+ rpc RegisterActorReminder(RegisterActorReminderRequest) returns (google.protobuf.Empty) {}
78
+
79
+ // Unregister an actor reminder.
80
+ rpc UnregisterActorReminder(UnregisterActorReminderRequest) returns (google.protobuf.Empty) {}
81
+
82
+ // Rename an actor reminder.
83
+ rpc RenameActorReminder(RenameActorReminderRequest) returns (google.protobuf.Empty) {}
84
+
85
+ // Gets the state for a specific actor.
86
+ rpc GetActorState(GetActorStateRequest) returns (GetActorStateResponse) {}
87
+
88
+ // Executes state transactions for a specified actor
89
+ rpc ExecuteActorStateTransaction(ExecuteActorStateTransactionRequest) returns (google.protobuf.Empty) {}
90
+
91
+ // InvokeActor calls a method on an actor.
92
+ rpc InvokeActor (InvokeActorRequest) returns (InvokeActorResponse) {}
93
+
94
+ // GetConfiguration gets configuration from configuration store.
95
+ rpc GetConfigurationAlpha1(GetConfigurationRequest) returns (GetConfigurationResponse) {}
96
+
97
+ // GetConfiguration gets configuration from configuration store.
98
+ rpc GetConfiguration(GetConfigurationRequest) returns (GetConfigurationResponse) {}
99
+
100
+ // SubscribeConfiguration gets configuration from configuration store and subscribe the updates event by grpc stream
101
+ rpc SubscribeConfigurationAlpha1(SubscribeConfigurationRequest) returns (stream SubscribeConfigurationResponse) {}
102
+
103
+ // SubscribeConfiguration gets configuration from configuration store and subscribe the updates event by grpc stream
104
+ rpc SubscribeConfiguration(SubscribeConfigurationRequest) returns (stream SubscribeConfigurationResponse) {}
105
+
106
+ // UnSubscribeConfiguration unsubscribe the subscription of configuration
107
+ rpc UnsubscribeConfigurationAlpha1(UnsubscribeConfigurationRequest) returns (UnsubscribeConfigurationResponse) {}
108
+
109
+ // UnSubscribeConfiguration unsubscribe the subscription of configuration
110
+ rpc UnsubscribeConfiguration(UnsubscribeConfigurationRequest) returns (UnsubscribeConfigurationResponse) {}
111
+
112
+ // TryLockAlpha1 tries to get a lock with an expiry.
113
+ rpc TryLockAlpha1(TryLockRequest)returns (TryLockResponse) {}
114
+
115
+ // UnlockAlpha1 unlocks a lock.
116
+ rpc UnlockAlpha1(UnlockRequest)returns (UnlockResponse) {}
117
+
118
+ // EncryptAlpha1 encrypts a message using the Dapr encryption scheme and a key stored in the vault.
119
+ rpc EncryptAlpha1(stream EncryptRequest) returns (stream EncryptResponse);
120
+
121
+ // DecryptAlpha1 decrypts a message using the Dapr encryption scheme and a key stored in the vault.
122
+ rpc DecryptAlpha1(stream DecryptRequest) returns (stream DecryptResponse);
123
+
124
+ // Gets metadata of the sidecar
125
+ rpc GetMetadata (google.protobuf.Empty) returns (GetMetadataResponse) {}
126
+
127
+ // Sets value in extended metadata of the sidecar
128
+ rpc SetMetadata (SetMetadataRequest) returns (google.protobuf.Empty) {}
129
+
130
+ // SubtleGetKeyAlpha1 returns the public part of an asymmetric key stored in the vault.
131
+ rpc SubtleGetKeyAlpha1(SubtleGetKeyRequest) returns (SubtleGetKeyResponse);
132
+
133
+ // SubtleEncryptAlpha1 encrypts a small message using a key stored in the vault.
134
+ rpc SubtleEncryptAlpha1(SubtleEncryptRequest) returns (SubtleEncryptResponse);
135
+
136
+ // SubtleDecryptAlpha1 decrypts a small message using a key stored in the vault.
137
+ rpc SubtleDecryptAlpha1(SubtleDecryptRequest) returns (SubtleDecryptResponse);
138
+
139
+ // SubtleWrapKeyAlpha1 wraps a key using a key stored in the vault.
140
+ rpc SubtleWrapKeyAlpha1(SubtleWrapKeyRequest) returns (SubtleWrapKeyResponse);
141
+
142
+ // SubtleUnwrapKeyAlpha1 unwraps a key using a key stored in the vault.
143
+ rpc SubtleUnwrapKeyAlpha1(SubtleUnwrapKeyRequest) returns (SubtleUnwrapKeyResponse);
144
+
145
+ // SubtleSignAlpha1 signs a message using a key stored in the vault.
146
+ rpc SubtleSignAlpha1(SubtleSignRequest) returns (SubtleSignResponse);
147
+
148
+ // SubtleVerifyAlpha1 verifies the signature of a message using a key stored in the vault.
149
+ rpc SubtleVerifyAlpha1(SubtleVerifyRequest) returns (SubtleVerifyResponse);
150
+
151
+ // Starts a new instance of a workflow
152
+ rpc StartWorkflowAlpha1 (StartWorkflowRequest) returns (StartWorkflowResponse) {}
153
+
154
+ // Gets details about a started workflow instance
155
+ rpc GetWorkflowAlpha1 (GetWorkflowRequest) returns (GetWorkflowResponse) {}
156
+
157
+ // Purge Workflow
158
+ rpc PurgeWorkflowAlpha1 (PurgeWorkflowRequest) returns (google.protobuf.Empty) {}
159
+
160
+ // Terminates a running workflow instance
161
+ rpc TerminateWorkflowAlpha1 (TerminateWorkflowRequest) returns (google.protobuf.Empty) {}
162
+
163
+ // Pauses a running workflow instance
164
+ rpc PauseWorkflowAlpha1 (PauseWorkflowRequest) returns (google.protobuf.Empty) {}
165
+
166
+ // Resumes a paused workflow instance
167
+ rpc ResumeWorkflowAlpha1 (ResumeWorkflowRequest) returns (google.protobuf.Empty) {}
168
+
169
+ // Raise an event to a running workflow instance
170
+ rpc RaiseEventWorkflowAlpha1 (RaiseEventWorkflowRequest) returns (google.protobuf.Empty) {}
171
+
172
+ // Shutdown the sidecar
173
+ rpc Shutdown (google.protobuf.Empty) returns (google.protobuf.Empty) {}
174
+ }
175
+
176
+ // InvokeServiceRequest represents the request message for Service invocation.
177
+ message InvokeServiceRequest {
178
+ // Required. Callee's app id.
179
+ string id = 1;
180
+
181
+ // Required. message which will be delivered to callee.
182
+ common.v1.InvokeRequest message = 3;
183
+ }
184
+
185
+ // GetStateRequest is the message to get key-value states from specific state store.
186
+ message GetStateRequest {
187
+ // The name of state store.
188
+ string store_name = 1;
189
+
190
+ // The key of the desired state
191
+ string key = 2;
192
+
193
+ // The read consistency of the state store.
194
+ common.v1.StateOptions.StateConsistency consistency = 3;
195
+
196
+ // The metadata which will be sent to state store components.
197
+ map<string, string> metadata = 4;
198
+ }
199
+
200
+ // GetBulkStateRequest is the message to get a list of key-value states from specific state store.
201
+ message GetBulkStateRequest {
202
+ // The name of state store.
203
+ string store_name = 1;
204
+
205
+ // The keys to get.
206
+ repeated string keys = 2;
207
+
208
+ // The number of parallel operations executed on the state store for a get operation.
209
+ int32 parallelism = 3;
210
+
211
+ // The metadata which will be sent to state store components.
212
+ map<string, string> metadata = 4;
213
+ }
214
+
215
+ // GetBulkStateResponse is the response conveying the list of state values.
216
+ message GetBulkStateResponse {
217
+ // The list of items containing the keys to get values for.
218
+ repeated BulkStateItem items = 1;
219
+ }
220
+
221
+ // BulkStateItem is the response item for a bulk get operation.
222
+ // Return values include the item key, data and etag.
223
+ message BulkStateItem {
224
+ // state item key
225
+ string key = 1;
226
+
227
+ // The byte array data
228
+ bytes data = 2;
229
+
230
+ // The entity tag which represents the specific version of data.
231
+ // ETag format is defined by the corresponding data store.
232
+ string etag = 3;
233
+
234
+ // The error that was returned from the state store in case of a failed get operation.
235
+ string error = 4;
236
+
237
+ // The metadata which will be sent to app.
238
+ map<string, string> metadata = 5;
239
+ }
240
+
241
+ // GetStateResponse is the response conveying the state value and etag.
242
+ message GetStateResponse {
243
+ // The byte array data
244
+ bytes data = 1;
245
+
246
+ // The entity tag which represents the specific version of data.
247
+ // ETag format is defined by the corresponding data store.
248
+ string etag = 2;
249
+
250
+ // The metadata which will be sent to app.
251
+ map<string, string> metadata = 3;
252
+ }
253
+
254
+ // DeleteStateRequest is the message to delete key-value states in the specific state store.
255
+ message DeleteStateRequest {
256
+ // The name of state store.
257
+ string store_name = 1;
258
+
259
+ // The key of the desired state
260
+ string key = 2;
261
+
262
+ // The entity tag which represents the specific version of data.
263
+ // The exact ETag format is defined by the corresponding data store.
264
+ common.v1.Etag etag = 3;
265
+
266
+ // State operation options which includes concurrency/
267
+ // consistency/retry_policy.
268
+ common.v1.StateOptions options = 4;
269
+
270
+ // The metadata which will be sent to state store components.
271
+ map<string, string> metadata = 5;
272
+ }
273
+
274
+ // DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
275
+ message DeleteBulkStateRequest {
276
+ // The name of state store.
277
+ string store_name = 1;
278
+
279
+ // The array of the state key values.
280
+ repeated common.v1.StateItem states = 2;
281
+ }
282
+
283
+ // SaveStateRequest is the message to save multiple states into state store.
284
+ message SaveStateRequest {
285
+ // The name of state store.
286
+ string store_name = 1;
287
+
288
+ // The array of the state key values.
289
+ repeated common.v1.StateItem states = 2;
290
+ }
291
+
292
+ // QueryStateRequest is the message to query state store.
293
+ message QueryStateRequest {
294
+ // The name of state store.
295
+ string store_name = 1 [json_name = "storeName"];
296
+
297
+ // The query in JSON format.
298
+ string query = 2;
299
+
300
+ // The metadata which will be sent to state store components.
301
+ map<string, string> metadata = 3;
302
+ }
303
+
304
+ message QueryStateItem {
305
+ // The object key.
306
+ string key = 1;
307
+
308
+ // The object value.
309
+ bytes data = 2;
310
+
311
+ // The entity tag which represents the specific version of data.
312
+ // ETag format is defined by the corresponding data store.
313
+ string etag = 3;
314
+
315
+ // The error message indicating an error in processing of the query result.
316
+ string error = 4;
317
+ }
318
+
319
+ // QueryStateResponse is the response conveying the query results.
320
+ message QueryStateResponse {
321
+ // An array of query results.
322
+ repeated QueryStateItem results = 1;
323
+
324
+ // Pagination token.
325
+ string token = 2;
326
+
327
+ // The metadata which will be sent to app.
328
+ map<string, string> metadata = 3;
329
+ }
330
+
331
+ // PublishEventRequest is the message to publish event data to pubsub topic
332
+ message PublishEventRequest {
333
+ // The name of the pubsub component
334
+ string pubsub_name = 1;
335
+
336
+ // The pubsub topic
337
+ string topic = 2;
338
+
339
+ // The data which will be published to topic.
340
+ bytes data = 3;
341
+
342
+ // The content type for the data (optional).
343
+ string data_content_type = 4;
344
+
345
+ // The metadata passing to pub components
346
+ //
347
+ // metadata property:
348
+ // - key : the key of the message.
349
+ map<string, string> metadata = 5;
350
+ }
351
+
352
+ // BulkPublishRequest is the message to bulk publish events to pubsub topic
353
+ message BulkPublishRequest {
354
+ // The name of the pubsub component
355
+ string pubsub_name = 1;
356
+
357
+ // The pubsub topic
358
+ string topic = 2;
359
+
360
+ // The entries which contain the individual events and associated details to be published
361
+ repeated BulkPublishRequestEntry entries = 3;
362
+
363
+ // The request level metadata passing to to the pubsub components
364
+ map<string, string> metadata = 4;
365
+ }
366
+
367
+ // BulkPublishRequestEntry is the message containing the event to be bulk published
368
+ message BulkPublishRequestEntry {
369
+ // The request scoped unique ID referring to this message. Used to map status in response
370
+ string entry_id = 1;
371
+
372
+ // The event which will be pulished to the topic
373
+ bytes event = 2;
374
+
375
+ // The content type for the event
376
+ string content_type = 3;
377
+
378
+ // The event level metadata passing to the pubsub component
379
+ map<string, string> metadata = 4;
380
+ }
381
+
382
+ // BulkPublishResponse is the message returned from a BulkPublishEvent call
383
+ message BulkPublishResponse {
384
+ // The entries for different events that failed publish in the BulkPublishEvent call
385
+ repeated BulkPublishResponseFailedEntry failedEntries = 1;
386
+ }
387
+
388
+ // BulkPublishResponseFailedEntry is the message containing the entryID and error of a failed event in BulkPublishEvent call
389
+ message BulkPublishResponseFailedEntry {
390
+
391
+ // The response scoped unique ID referring to this message
392
+ string entry_id = 1;
393
+
394
+ // The error message if any on failure
395
+ string error = 2;
396
+ }
397
+
398
+
399
+ // InvokeBindingRequest is the message to send data to output bindings
400
+ message InvokeBindingRequest {
401
+ // The name of the output binding to invoke.
402
+ string name = 1;
403
+
404
+ // The data which will be sent to output binding.
405
+ bytes data = 2;
406
+
407
+ // The metadata passing to output binding components
408
+ //
409
+ // Common metadata property:
410
+ // - ttlInSeconds : the time to live in seconds for the message.
411
+ // If set in the binding definition will cause all messages to
412
+ // have a default time to live. The message ttl overrides any value
413
+ // in the binding definition.
414
+ map<string, string> metadata = 3;
415
+
416
+ // The name of the operation type for the binding to invoke
417
+ string operation = 4;
418
+ }
419
+
420
+ // InvokeBindingResponse is the message returned from an output binding invocation
421
+ message InvokeBindingResponse {
422
+ // The data which will be sent to output binding.
423
+ bytes data = 1;
424
+
425
+ // The metadata returned from an external system
426
+ map<string, string> metadata = 2;
427
+ }
428
+
429
+ // GetSecretRequest is the message to get secret from secret store.
430
+ message GetSecretRequest {
431
+ // The name of secret store.
432
+ string store_name = 1 [json_name = "storeName"];
433
+
434
+ // The name of secret key.
435
+ string key = 2;
436
+
437
+ // The metadata which will be sent to secret store components.
438
+ map<string, string> metadata = 3;
439
+ }
440
+
441
+ // GetSecretResponse is the response message to convey the requested secret.
442
+ message GetSecretResponse {
443
+ // data is the secret value. Some secret store, such as kubernetes secret
444
+ // store, can save multiple secrets for single secret key.
445
+ map<string, string> data = 1;
446
+ }
447
+
448
+ // GetBulkSecretRequest is the message to get the secrets from secret store.
449
+ message GetBulkSecretRequest {
450
+ // The name of secret store.
451
+ string store_name = 1 [json_name = "storeName"];
452
+
453
+ // The metadata which will be sent to secret store components.
454
+ map<string, string> metadata = 2;
455
+ }
456
+
457
+ // SecretResponse is a map of decrypted string/string values
458
+ message SecretResponse {
459
+ map<string, string> secrets = 1;
460
+ }
461
+
462
+ // GetBulkSecretResponse is the response message to convey the requested secrets.
463
+ message GetBulkSecretResponse {
464
+ // data hold the secret values. Some secret store, such as kubernetes secret
465
+ // store, can save multiple secrets for single secret key.
466
+ map<string, SecretResponse> data = 1;
467
+ }
468
+
469
+ // TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
470
+ message TransactionalStateOperation {
471
+ // The type of operation to be executed
472
+ string operationType = 1;
473
+
474
+ // State values to be operated on
475
+ common.v1.StateItem request = 2;
476
+ }
477
+
478
+ // ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
479
+ message ExecuteStateTransactionRequest {
480
+ // Required. name of state store.
481
+ string storeName = 1;
482
+
483
+ // Required. transactional operation list.
484
+ repeated TransactionalStateOperation operations = 2;
485
+
486
+ // The metadata used for transactional operations.
487
+ map<string, string> metadata = 3;
488
+ }
489
+
490
+ // RegisterActorTimerRequest is the message to register a timer for an actor of a given type and id.
491
+ message RegisterActorTimerRequest {
492
+ string actor_type = 1;
493
+ string actor_id = 2;
494
+ string name = 3;
495
+ string due_time = 4;
496
+ string period = 5;
497
+ string callback = 6;
498
+ bytes data = 7;
499
+ string ttl = 8;
500
+ }
501
+
502
+ // UnregisterActorTimerRequest is the message to unregister an actor timer
503
+ message UnregisterActorTimerRequest {
504
+ string actor_type = 1;
505
+ string actor_id = 2;
506
+ string name = 3;
507
+ }
508
+
509
+ // RegisterActorReminderRequest is the message to register a reminder for an actor of a given type and id.
510
+ message RegisterActorReminderRequest {
511
+ string actor_type = 1;
512
+ string actor_id = 2;
513
+ string name = 3;
514
+ string due_time = 4;
515
+ string period = 5;
516
+ bytes data = 6;
517
+ string ttl = 7;
518
+ }
519
+
520
+ // UnregisterActorReminderRequest is the message to unregister an actor reminder.
521
+ message UnregisterActorReminderRequest {
522
+ string actor_type = 1;
523
+ string actor_id = 2;
524
+ string name = 3;
525
+ }
526
+
527
+ // RenameActorReminderRequest is the message to rename an actor reminder.
528
+ message RenameActorReminderRequest {
529
+ string actor_type = 1;
530
+ string actor_id = 2;
531
+ string old_name = 3;
532
+ string new_name = 4;
533
+ }
534
+
535
+ // GetActorStateRequest is the message to get key-value states from specific actor.
536
+ message GetActorStateRequest {
537
+ string actor_type = 1;
538
+ string actor_id = 2;
539
+ string key = 3;
540
+ }
541
+
542
+ // GetActorStateResponse is the response conveying the actor's state value.
543
+ message GetActorStateResponse {
544
+ bytes data = 1;
545
+ }
546
+
547
+ // ExecuteActorStateTransactionRequest is the message to execute multiple operations on a specified actor.
548
+ message ExecuteActorStateTransactionRequest {
549
+ string actor_type = 1;
550
+ string actor_id = 2;
551
+ repeated TransactionalActorStateOperation operations = 3;
552
+ }
553
+
554
+ // TransactionalActorStateOperation is the message to execute a specified operation with a key-value pair.
555
+ message TransactionalActorStateOperation {
556
+ string operationType = 1;
557
+ string key = 2;
558
+ google.protobuf.Any value = 3;
559
+ // The metadata used for transactional operations.
560
+ //
561
+ // Common metadata property:
562
+ // - ttlInSeconds : the time to live in seconds for the stored value.
563
+ map<string, string> metadata = 4;
564
+ }
565
+
566
+ // InvokeActorRequest is the message to call an actor.
567
+ message InvokeActorRequest {
568
+ string actor_type = 1;
569
+ string actor_id = 2;
570
+ string method = 3;
571
+ bytes data = 4;
572
+ map<string, string> metadata = 5;
573
+ }
574
+
575
+ // InvokeActorResponse is the method that returns an actor invocation response.
576
+ message InvokeActorResponse {
577
+ bytes data = 1;
578
+ }
579
+
580
+ // GetMetadataResponse is a message that is returned on GetMetadata rpc call
581
+ message GetMetadataResponse {
582
+ string id = 1;
583
+ repeated ActiveActorsCount active_actors_count = 2;
584
+ repeated RegisteredComponents registered_components = 3;
585
+ map<string, string> extended_metadata = 4;
586
+ repeated PubsubSubscription subscriptions = 5;
587
+ }
588
+
589
+ message ActiveActorsCount {
590
+ string type = 1;
591
+ int32 count = 2;
592
+ }
593
+
594
+ message RegisteredComponents {
595
+ string name = 1;
596
+ string type = 2;
597
+ string version = 3;
598
+ repeated string capabilities = 4;
599
+ }
600
+
601
+ message PubsubSubscription {
602
+ string pubsub_name = 1;
603
+ string topic = 2;
604
+ map<string,string> metadata = 3;
605
+ PubsubSubscriptionRules rules = 4;
606
+ string dead_letter_topic = 5;
607
+ }
608
+
609
+ message PubsubSubscriptionRules {
610
+ repeated PubsubSubscriptionRule rules = 1;
611
+ }
612
+
613
+ message PubsubSubscriptionRule {
614
+ string match = 1;
615
+ string path = 2;
616
+ }
617
+
618
+ message SetMetadataRequest {
619
+ string key = 1;
620
+ string value = 2;
621
+ }
622
+
623
+ // GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
624
+ message GetConfigurationRequest {
625
+ // Required. The name of configuration store.
626
+ string store_name = 1;
627
+
628
+ // Optional. The key of the configuration item to fetch.
629
+ // If set, only query for the specified configuration items.
630
+ // Empty list means fetch all.
631
+ repeated string keys = 2;
632
+
633
+ // Optional. The metadata which will be sent to configuration store components.
634
+ map<string, string> metadata = 3;
635
+ }
636
+
637
+ // GetConfigurationResponse is the response conveying the list of configuration values.
638
+ // It should be the FULL configuration of specified application which contains all of its configuration items.
639
+ message GetConfigurationResponse {
640
+ map<string, common.v1.ConfigurationItem> items = 1;
641
+ }
642
+
643
+ // SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
644
+ message SubscribeConfigurationRequest {
645
+ // The name of configuration store.
646
+ string store_name = 1;
647
+
648
+ // Optional. The key of the configuration item to fetch.
649
+ // If set, only query for the specified configuration items.
650
+ // Empty list means fetch all.
651
+ repeated string keys = 2;
652
+
653
+ // The metadata which will be sent to configuration store components.
654
+ map<string, string> metadata = 3;
655
+ }
656
+
657
+ // UnSubscribeConfigurationRequest is the message to stop watching the key-value configuration.
658
+ message UnsubscribeConfigurationRequest {
659
+ // The name of configuration store.
660
+ string store_name = 1;
661
+
662
+ // The id to unsubscribe.
663
+ string id = 2;
664
+ }
665
+
666
+ message SubscribeConfigurationResponse {
667
+ // Subscribe id, used to stop subscription.
668
+ string id = 1;
669
+
670
+ // The list of items containing configuration values
671
+ map<string, common.v1.ConfigurationItem> items = 2;
672
+ }
673
+
674
+ message UnsubscribeConfigurationResponse {
675
+ bool ok = 1;
676
+ string message = 2;
677
+ }
678
+
679
+ message TryLockRequest {
680
+ // Required. The lock store name,e.g. `redis`.
681
+ string store_name = 1 [json_name = "storeName"];
682
+
683
+ // Required. resource_id is the lock key. e.g. `order_id_111`
684
+ // It stands for "which resource I want to protect"
685
+ string resource_id = 2 [json_name = "resourceId"];
686
+
687
+ // Required. lock_owner indicate the identifier of lock owner.
688
+ // You can generate a uuid as lock_owner.For example,in golang:
689
+ //
690
+ // req.LockOwner = uuid.New().String()
691
+ //
692
+ // This field is per request,not per process,so it is different for each request,
693
+ // which aims to prevent multi-thread in the same process trying the same lock concurrently.
694
+ //
695
+ // The reason why we don't make it automatically generated is:
696
+ // 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
697
+ // This name is so weird that we think it is inappropriate to put it into the api spec
698
+ // 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
699
+ // we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
700
+ // 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
701
+ // So this field in the request shouldn't be removed.
702
+ string lock_owner = 3 [json_name = "lockOwner"];
703
+
704
+ // Required. The time before expiry.The time unit is second.
705
+ int32 expiry_in_seconds = 4 [json_name = "expiryInSeconds"];
706
+ }
707
+
708
+ message TryLockResponse {
709
+ bool success = 1;
710
+ }
711
+
712
+ message UnlockRequest {
713
+ string store_name = 1 [json_name = "storeName"];
714
+ // resource_id is the lock key.
715
+ string resource_id = 2 [json_name = "resourceId"];
716
+ string lock_owner = 3 [json_name = "lockOwner"];
717
+ }
718
+
719
+ message UnlockResponse {
720
+ enum Status {
721
+ SUCCESS = 0;
722
+ LOCK_DOES_NOT_EXIST = 1;
723
+ LOCK_BELONGS_TO_OTHERS = 2;
724
+ INTERNAL_ERROR = 3;
725
+ }
726
+
727
+ Status status = 1;
728
+ }
729
+
730
+ // SubtleGetKeyRequest is the request object for SubtleGetKeyAlpha1.
731
+ message SubtleGetKeyRequest {
732
+ enum KeyFormat {
733
+ // PEM (PKIX) (default)
734
+ PEM = 0;
735
+ // JSON (JSON Web Key) as string
736
+ JSON = 1;
737
+ }
738
+
739
+ // Name of the component
740
+ string component_name = 1 [json_name="componentName"];
741
+ // Name (or name/version) of the key to use in the key vault
742
+ string name = 2;
743
+ // Response format
744
+ KeyFormat format = 3;
745
+ }
746
+
747
+ // SubtleGetKeyResponse is the response for SubtleGetKeyAlpha1.
748
+ message SubtleGetKeyResponse {
749
+ // Name (or name/version) of the key.
750
+ // This is returned as response too in case there is a version.
751
+ string name = 1;
752
+ // Public key, encoded in the requested format
753
+ string public_key = 2 [json_name="publicKey"];
754
+ }
755
+
756
+ // SubtleEncryptRequest is the request for SubtleEncryptAlpha1.
757
+ message SubtleEncryptRequest {
758
+ // Name of the component
759
+ string component_name = 1 [json_name="componentName"];
760
+ // Message to encrypt.
761
+ bytes plaintext = 2;
762
+ // Algorithm to use, as in the JWA standard.
763
+ string algorithm = 3;
764
+ // Name (or name/version) of the key.
765
+ string key_name = 4 [json_name="keyName"];
766
+ // Nonce / initialization vector.
767
+ // Ignored with asymmetric ciphers.
768
+ bytes nonce = 5;
769
+ // Associated Data when using AEAD ciphers (optional).
770
+ bytes associated_data = 6 [json_name="associatedData"];
771
+ }
772
+
773
+ // SubtleEncryptResponse is the response for SubtleEncryptAlpha1.
774
+ message SubtleEncryptResponse {
775
+ // Encrypted ciphertext.
776
+ bytes ciphertext = 1;
777
+ // Authentication tag.
778
+ // This is nil when not using an authenticated cipher.
779
+ bytes tag = 2;
780
+ }
781
+
782
+ // SubtleDecryptRequest is the request for SubtleDecryptAlpha1.
783
+ message SubtleDecryptRequest {
784
+ // Name of the component
785
+ string component_name = 1 [json_name="componentName"];
786
+ // Message to decrypt.
787
+ bytes ciphertext = 2;
788
+ // Algorithm to use, as in the JWA standard.
789
+ string algorithm = 3;
790
+ // Name (or name/version) of the key.
791
+ string key_name = 4 [json_name="keyName"];
792
+ // Nonce / initialization vector.
793
+ // Ignored with asymmetric ciphers.
794
+ bytes nonce = 5;
795
+ // Authentication tag.
796
+ // This is nil when not using an authenticated cipher.
797
+ bytes tag = 6;
798
+ // Associated Data when using AEAD ciphers (optional).
799
+ bytes associated_data = 7 [json_name="associatedData"];
800
+ }
801
+
802
+ // SubtleDecryptResponse is the response for SubtleDecryptAlpha1.
803
+ message SubtleDecryptResponse {
804
+ // Decrypted plaintext.
805
+ bytes plaintext = 1;
806
+ }
807
+
808
+ // SubtleWrapKeyRequest is the request for SubtleWrapKeyAlpha1.
809
+ message SubtleWrapKeyRequest {
810
+ // Name of the component
811
+ string component_name = 1 [json_name="componentName"];
812
+ // Key to wrap
813
+ bytes plaintext_key = 2 [json_name="plaintextKey"];
814
+ // Algorithm to use, as in the JWA standard.
815
+ string algorithm = 3;
816
+ // Name (or name/version) of the key.
817
+ string key_name = 4 [json_name="keyName"];
818
+ // Nonce / initialization vector.
819
+ // Ignored with asymmetric ciphers.
820
+ bytes nonce = 5;
821
+ // Associated Data when using AEAD ciphers (optional).
822
+ bytes associated_data = 6 [json_name="associatedData"];
823
+ }
824
+
825
+ // SubtleWrapKeyResponse is the response for SubtleWrapKeyAlpha1.
826
+ message SubtleWrapKeyResponse {
827
+ // Wrapped key.
828
+ bytes wrapped_key = 1 [json_name="wrappedKey"];
829
+ // Authentication tag.
830
+ // This is nil when not using an authenticated cipher.
831
+ bytes tag = 2;
832
+ }
833
+
834
+ // SubtleUnwrapKeyRequest is the request for SubtleUnwrapKeyAlpha1.
835
+ message SubtleUnwrapKeyRequest {
836
+ // Name of the component
837
+ string component_name = 1 [json_name="componentName"];
838
+ // Wrapped key.
839
+ bytes wrapped_key = 2 [json_name="wrappedKey"];
840
+ // Algorithm to use, as in the JWA standard.
841
+ string algorithm = 3;
842
+ // Name (or name/version) of the key.
843
+ string key_name = 4 [json_name="keyName"];
844
+ // Nonce / initialization vector.
845
+ // Ignored with asymmetric ciphers.
846
+ bytes nonce = 5;
847
+ // Authentication tag.
848
+ // This is nil when not using an authenticated cipher.
849
+ bytes tag = 6;
850
+ // Associated Data when using AEAD ciphers (optional).
851
+ bytes associated_data = 7 [json_name="associatedData"];
852
+ }
853
+
854
+ // SubtleUnwrapKeyResponse is the response for SubtleUnwrapKeyAlpha1.
855
+ message SubtleUnwrapKeyResponse {
856
+ // Key in plaintext
857
+ bytes plaintext_key = 1 [json_name="plaintextKey"];
858
+ }
859
+
860
+ // SubtleSignRequest is the request for SubtleSignAlpha1.
861
+ message SubtleSignRequest {
862
+ // Name of the component
863
+ string component_name = 1 [json_name="componentName"];
864
+ // Digest to sign.
865
+ bytes digest = 2;
866
+ // Algorithm to use, as in the JWA standard.
867
+ string algorithm = 3;
868
+ // Name (or name/version) of the key.
869
+ string key_name = 4 [json_name="keyName"];
870
+ }
871
+
872
+ // SubtleSignResponse is the response for SubtleSignAlpha1.
873
+ message SubtleSignResponse {
874
+ // The signature that was computed
875
+ bytes signature = 1;
876
+ }
877
+
878
+ // SubtleVerifyRequest is the request for SubtleVerifyAlpha1.
879
+ message SubtleVerifyRequest {
880
+ // Name of the component
881
+ string component_name = 1 [json_name="componentName"];
882
+ // Digest of the message.
883
+ bytes digest = 2;
884
+ // Algorithm to use, as in the JWA standard.
885
+ string algorithm = 3;
886
+ // Name (or name/version) of the key.
887
+ string key_name = 4 [json_name="keyName"];
888
+ // Signature to verify.
889
+ bytes signature = 5;
890
+ }
891
+
892
+ // SubtleVerifyResponse is the response for SubtleVerifyAlpha1.
893
+ message SubtleVerifyResponse {
894
+ // True if the signature is valid.
895
+ bool valid = 1;
896
+ }
897
+
898
+ // EncryptRequest is the request for EncryptAlpha1.
899
+ message EncryptRequest {
900
+ // Request details. Must be present in the first message only.
901
+ EncryptRequestOptions options = 1;
902
+ // Chunk of data of arbitrary size.
903
+ // common.v1.StreamPayload payload = 2; // TODO: Commented out since it was causing an issue
904
+ }
905
+
906
+ // EncryptRequestOptions contains options for the first message in the EncryptAlpha1 request.
907
+ message EncryptRequestOptions {
908
+ // Name of the component. Required.
909
+ string component_name = 1 [json_name="componentName"];
910
+ // Name (or name/version) of the key. Required.
911
+ string key_name = 2 [json_name="keyName"];
912
+ // Key wrapping algorithm to use. Required.
913
+ // Supported options include: A256KW (alias: AES), A128CBC, A192CBC, A256CBC, RSA-OAEP-256 (alias: RSA).
914
+ string key_wrap_algorithm = 3;
915
+ // Cipher used to encrypt data (optional): "aes-gcm" (default) or "chacha20-poly1305"
916
+ string data_encryption_cipher = 10;
917
+ // If true, the encrypted document does not contain a key reference.
918
+ // In that case, calls to the Decrypt method must provide a key reference (name or name/version).
919
+ // Defaults to false.
920
+ bool omit_decryption_key_name = 11 [json_name="omitDecryptionKeyName"];
921
+ // Key reference to embed in the encrypted document (name or name/version).
922
+ // This is helpful if the reference of the key used to decrypt the document is different from the one used to encrypt it.
923
+ // If unset, uses the reference of the key used to encrypt the document (this is the default behavior).
924
+ // This option is ignored if omit_decryption_key_name is true.
925
+ string decryption_key_name = 12 [json_name="decryptionKeyName"];
926
+ }
927
+
928
+ // EncryptResponse is the response for EncryptAlpha1.
929
+ message EncryptResponse {
930
+ // Chunk of data.
931
+ // common.v1.StreamPayload payload = 1; // TODO: Commented out since it was causing an issue
932
+ }
933
+
934
+ // DecryptRequest is the request for DecryptAlpha1.
935
+ message DecryptRequest {
936
+ // Request details. Must be present in the first message only.
937
+ DecryptRequestOptions options = 1;
938
+ // Chunk of data of arbitrary size.
939
+ // common.v1.StreamPayload payload = 2; // TODO: Commented out since it was causing an issue
940
+ }
941
+
942
+ // DecryptRequestOptions contains options for the first message in the DecryptAlpha1 request.
943
+ message DecryptRequestOptions {
944
+ // Name of the component
945
+ string component_name = 1 [json_name="componentName"];
946
+ // Name (or name/version) of the key to decrypt the message.
947
+ // Overrides any key reference included in the message if present.
948
+ // This is required if the message doesn't include a key reference (i.e. was created with omit_decryption_key_name set to true).
949
+ string key_name = 12 [json_name="keyName"];
950
+ }
951
+
952
+ // DecryptResponse is the response for DecryptAlpha1.
953
+ message DecryptResponse {
954
+ // Chunk of data.
955
+ // common.v1.StreamPayload payload = 1; // TODO: Commented out since it was causing an issue
956
+ }
957
+
958
+ // GetWorkflowRequest is the request for GetWorkflowAlpha1.
959
+ message GetWorkflowRequest {
960
+ // ID of the workflow instance to query.
961
+ string instance_id = 1 [json_name = "instanceID"];
962
+ // Name of the workflow component.
963
+ string workflow_component = 2 [json_name = "workflowComponent"];
964
+ }
965
+
966
+ // GetWorkflowResponse is the response for GetWorkflowAlpha1.
967
+ message GetWorkflowResponse {
968
+ // ID of the workflow instance.
969
+ string instance_id = 1 [json_name = "instanceID"];
970
+ // Name of the workflow.
971
+ string workflow_name = 2 [json_name = "workflowName"];
972
+ // The time at which the workflow instance was created.
973
+ google.protobuf.Timestamp created_at = 3 [json_name = "createdAt"];
974
+ // The last time at which the workflow instance had its state changed.
975
+ google.protobuf.Timestamp last_updated_at = 4 [json_name = "lastUpdatedAt"];
976
+ // The current status of the workflow instance, for example, "PENDING", "RUNNING", "SUSPENDED", "COMPLETED", "FAILED", and "TERMINATED".
977
+ string runtime_status = 5 [json_name = "runtimeStatus"];
978
+ // Additional component-specific properties of the workflow instance.
979
+ map<string, string> properties = 6;
980
+ }
981
+
982
+ // StartWorkflowRequest is the request for StartWorkflowAlpha1.
983
+ message StartWorkflowRequest {
984
+ // The ID to assign to the started workflow instance. If empty, a random ID is generated.
985
+ string instance_id = 1 [json_name = "instanceID"];
986
+ // Name of the workflow component.
987
+ string workflow_component = 2 [json_name = "workflowComponent"];
988
+ // Name of the workflow.
989
+ string workflow_name = 3 [json_name = "workflowName"];
990
+ // Additional component-specific options for starting the workflow instance.
991
+ map<string, string> options = 4;
992
+ // Input data for the workflow instance.
993
+ bytes input = 5;
994
+ }
995
+
996
+ // StartWorkflowResponse is the response for StartWorkflowAlpha1.
997
+ message StartWorkflowResponse {
998
+ // ID of the started workflow instance.
999
+ string instance_id = 1 [json_name = "instanceID"];
1000
+ }
1001
+
1002
+ // TerminateWorkflowRequest is the request for TerminateWorkflowAlpha1.
1003
+ message TerminateWorkflowRequest {
1004
+ // ID of the workflow instance to terminate.
1005
+ string instance_id = 1 [json_name = "instanceID"];
1006
+ // Name of the workflow component.
1007
+ string workflow_component = 2 [json_name = "workflowComponent"];
1008
+ }
1009
+
1010
+ // PauseWorkflowRequest is the request for PauseWorkflowAlpha1.
1011
+ message PauseWorkflowRequest {
1012
+ // ID of the workflow instance to pause.
1013
+ string instance_id = 1 [json_name = "instanceID"];
1014
+ // Name of the workflow component.
1015
+ string workflow_component = 2 [json_name = "workflowComponent"];
1016
+ }
1017
+
1018
+ // ResumeWorkflowRequest is the request for ResumeWorkflowAlpha1.
1019
+ message ResumeWorkflowRequest {
1020
+ // ID of the workflow instance to resume.
1021
+ string instance_id = 1 [json_name = "instanceID"];
1022
+ // Name of the workflow component.
1023
+ string workflow_component = 2 [json_name = "workflowComponent"];
1024
+ }
1025
+
1026
+ // RaiseEventWorkflowRequest is the request for RaiseEventWorkflowAlpha1.
1027
+ message RaiseEventWorkflowRequest {
1028
+ // ID of the workflow instance to raise an event for.
1029
+ string instance_id = 1 [json_name = "instanceID"];
1030
+ // Name of the workflow component.
1031
+ string workflow_component = 2 [json_name = "workflowComponent"];
1032
+ // Name of the event.
1033
+ string event_name = 3 [json_name = "eventName"];
1034
+ // Data associated with the event.
1035
+ bytes event_data = 4;
1036
+ }
1037
+
1038
+ // PurgeWorkflowRequest is the request for PurgeWorkflowAlpha1.
1039
+ message PurgeWorkflowRequest {
1040
+ // ID of the workflow instance to purge.
1041
+ string instance_id = 1 [json_name = "instanceID"];
1042
+ // Name of the workflow component.
1043
+ string workflow_component = 2 [json_name = "workflowComponent"];
1044
+ }