dapr-ruby 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+ }