@tdxvolt/volt-client-grpc 0.20.19 → 0.20.21
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/lib/index.cjs +108 -45
- package/package.json +3 -3
- package/src/volt-client.js +30 -26
- package/src/volt-proto-literals.js +78 -19
package/lib/index.cjs
CHANGED
|
@@ -1018,12 +1018,6 @@ message SaveDriveInstanceRequest {
|
|
|
1018
1018
|
// The local path of the folder to sync.
|
|
1019
1019
|
string target_folder = 6;
|
|
1020
1020
|
|
|
1021
|
-
// The comma-separated include patterns.
|
|
1022
|
-
string include = 7;
|
|
1023
|
-
|
|
1024
|
-
// The comma-separated exclude patterns.
|
|
1025
|
-
string exclude = 8;
|
|
1026
|
-
|
|
1027
1021
|
// The DID of the identity that should be used to authenticate with the remote Volt. If omitted, the authenticated identity will be used.
|
|
1028
1022
|
// The identity must have a private key stored in the Volt key store.
|
|
1029
1023
|
string identity_did = 9;
|
|
@@ -1048,6 +1042,7 @@ message SaveDriveInstanceRequest {
|
|
|
1048
1042
|
|
|
1049
1043
|
// Optional challenge of the relay.
|
|
1050
1044
|
string relay_challenge = 16;
|
|
1045
|
+
|
|
1051
1046
|
}
|
|
1052
1047
|
|
|
1053
1048
|
message SaveDriveInstanceResponse {
|
|
@@ -1469,6 +1464,9 @@ message CreateEmailCredentialRequest {
|
|
|
1469
1464
|
|
|
1470
1465
|
// The passphrase for the identity key, if required (i.e. the key is encrypted).
|
|
1471
1466
|
string key_passphrase = 4;
|
|
1467
|
+
|
|
1468
|
+
// Optional description rendered in the verification email body.
|
|
1469
|
+
string description = 5;
|
|
1472
1470
|
}
|
|
1473
1471
|
|
|
1474
1472
|
message CreateEmailCredentialResponse {
|
|
@@ -1759,6 +1757,9 @@ message CreateSynapseConnectionRequest {
|
|
|
1759
1757
|
|
|
1760
1758
|
// Optional challenge of the relay.
|
|
1761
1759
|
string relay_challenge = 14;
|
|
1760
|
+
|
|
1761
|
+
// Optional http address of the relay. If given, the relay_address and relay_ca will be ignored and the relay will be discovered at the given address.
|
|
1762
|
+
string relay_http_address = 15;
|
|
1762
1763
|
}
|
|
1763
1764
|
|
|
1764
1765
|
message CreateSynapseConnectionResponse {
|
|
@@ -1822,6 +1823,9 @@ message SaveSyncDatabaseRequest {
|
|
|
1822
1823
|
|
|
1823
1824
|
// By default, yjs updates are periodically compressed and stored as snapshots. Set this flag to disable snapshots. This will reduce the size of the database and improve performance, but will also reduce the ability to rollback to a previous state.
|
|
1824
1825
|
bool no_snapshots = 8;
|
|
1826
|
+
|
|
1827
|
+
// The number of updates to batch before flushing to the database. Defaults to 100.
|
|
1828
|
+
uint32 batch_size = 9;
|
|
1825
1829
|
}
|
|
1826
1830
|
|
|
1827
1831
|
message SaveSyncDatabaseResponse {
|
|
@@ -2233,6 +2237,15 @@ enum SecureMode {
|
|
|
2233
2237
|
SECURE_MODE_TLS = 2;
|
|
2234
2238
|
}
|
|
2235
2239
|
|
|
2240
|
+
// Per-method gRPC rate limit (unary: each RPC; client/bidi streams: first client message only).
|
|
2241
|
+
message GrpcRpcRateLimit {
|
|
2242
|
+
// Full gRPC method path, e.g. "/tdx.volt_api.volt.v1.VoltAPI/SendEmail"
|
|
2243
|
+
string method_full_name = 1;
|
|
2244
|
+
|
|
2245
|
+
// Maximum requests allowed per rolling 60-second window per identity. Zero disables this rule.
|
|
2246
|
+
uint32 max_requests_per_minute = 2;
|
|
2247
|
+
}
|
|
2248
|
+
|
|
2236
2249
|
// Encapsulates the various Volt parameters that are configurable by the Volt owner.
|
|
2237
2250
|
message VoltParameters {
|
|
2238
2251
|
string id = 1;
|
|
@@ -2400,6 +2413,17 @@ message VoltParameters {
|
|
|
2400
2413
|
|
|
2401
2414
|
// If set, exposes a resource that gives the Volt owner read-only access the file system.
|
|
2402
2415
|
bool enable_owner_file_system_access = 54;
|
|
2416
|
+
|
|
2417
|
+
// Maximum number of pending gRPC events per event thread queue.
|
|
2418
|
+
// If unset or zero, the server default queue size is used.
|
|
2419
|
+
uint32 grpc_event_queue_size = 55;
|
|
2420
|
+
|
|
2421
|
+
// Number of gRPC event processing threads.
|
|
2422
|
+
// If unset or zero, the server default thread count is used.
|
|
2423
|
+
uint32 grpc_num_event_threads = 56;
|
|
2424
|
+
|
|
2425
|
+
// Optional per-method gRPC rate limits (see GrpcRpcRateLimit). Keyed by peer identity or fingerprint.
|
|
2426
|
+
repeated GrpcRpcRateLimit grpc_rpc_rate_limit = 57;
|
|
2403
2427
|
}
|
|
2404
2428
|
|
|
2405
2429
|
message VoltEndpoint {
|
|
@@ -2790,6 +2814,27 @@ message Session {
|
|
|
2790
2814
|
|
|
2791
2815
|
SessionStatus status = 10;
|
|
2792
2816
|
}
|
|
2817
|
+
|
|
2818
|
+
message Email {
|
|
2819
|
+
// The email address to send to.
|
|
2820
|
+
repeated string to = 1;
|
|
2821
|
+
|
|
2822
|
+
// The email address to send cc to.
|
|
2823
|
+
repeated string cc = 2;
|
|
2824
|
+
|
|
2825
|
+
// The email address to send bcc to.
|
|
2826
|
+
repeated string bcc = 3;
|
|
2827
|
+
|
|
2828
|
+
// The subject of the email.
|
|
2829
|
+
string subject = 4;
|
|
2830
|
+
|
|
2831
|
+
// The body of the email.
|
|
2832
|
+
string body = 5;
|
|
2833
|
+
|
|
2834
|
+
// The email address to send from.
|
|
2835
|
+
string from = 6;
|
|
2836
|
+
}
|
|
2837
|
+
|
|
2793
2838
|
`;
|
|
2794
2839
|
const volt_api = `syntax = "proto3";
|
|
2795
2840
|
|
|
@@ -2938,6 +2983,10 @@ service VoltAPI {
|
|
|
2938
2983
|
// Requires \`volt:session-write\` permission. Authenticated sessions have this privilege by default.
|
|
2939
2984
|
rpc SaveSession(SaveSessionRequest) returns (SaveSessionResponse);
|
|
2940
2985
|
|
|
2986
|
+
// Send an email.
|
|
2987
|
+
// This is a privileged API call and requires volt:api-call / volt:send-email permission.
|
|
2988
|
+
rpc SendEmail(SendEmailRequest) returns (SendEmailResponse);
|
|
2989
|
+
|
|
2941
2990
|
// Set Volt access request decision.
|
|
2942
2991
|
// This is a privileged API call and requires volt:api-call / volt:set-access-request-decision permission.
|
|
2943
2992
|
rpc SetAccessRequestDecision(SetAccessRequestDecisionRequest) returns (SetAccessRequestDecisionResponse);
|
|
@@ -3958,6 +4007,29 @@ message SaveSessionResponse {
|
|
|
3958
4007
|
Session session = 2;
|
|
3959
4008
|
}
|
|
3960
4009
|
|
|
4010
|
+
message SendEmailRequest {
|
|
4011
|
+
// The email to send.
|
|
4012
|
+
Email email = 1;
|
|
4013
|
+
}
|
|
4014
|
+
|
|
4015
|
+
message SendEmailResponse {
|
|
4016
|
+
// Details of any error that occurred on the call.
|
|
4017
|
+
tdx.volt_api.volt.v1.Status status = 1;
|
|
4018
|
+
}
|
|
4019
|
+
|
|
4020
|
+
message SetAccessRequestDecisionRequest {
|
|
4021
|
+
// The id of the access request.
|
|
4022
|
+
string id = 1;
|
|
4023
|
+
|
|
4024
|
+
// The decision to save against the access request.
|
|
4025
|
+
PolicyDecision decision = 2;
|
|
4026
|
+
}
|
|
4027
|
+
|
|
4028
|
+
message SetAccessRequestDecisionResponse {
|
|
4029
|
+
// Details of any error that occurred on the call.
|
|
4030
|
+
tdx.volt_api.volt.v1.Status status = 1;
|
|
4031
|
+
}
|
|
4032
|
+
|
|
3961
4033
|
message SetPolicyRequest {
|
|
3962
4034
|
// The id of the policy to set.
|
|
3963
4035
|
// Should be either 00000000-0000-0000-0000-000000000000 or 00000000-0000-0000-0000-000000000001 for the first or last custom policy respectively.
|
|
@@ -3985,19 +4057,6 @@ message SetServiceStatusResponse {
|
|
|
3985
4057
|
Resource resource = 2;
|
|
3986
4058
|
}
|
|
3987
4059
|
|
|
3988
|
-
message SetAccessRequestDecisionRequest {
|
|
3989
|
-
// The id of the access request.
|
|
3990
|
-
string id = 1;
|
|
3991
|
-
|
|
3992
|
-
// The decision to save against the access request.
|
|
3993
|
-
PolicyDecision decision = 2;
|
|
3994
|
-
}
|
|
3995
|
-
|
|
3996
|
-
message SetAccessRequestDecisionResponse {
|
|
3997
|
-
// Details of any error that occurred on the call.
|
|
3998
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
3999
|
-
}
|
|
4000
|
-
|
|
4001
4060
|
// This message is emtpy.
|
|
4002
4061
|
message ShutdownRequest {
|
|
4003
4062
|
}
|
|
@@ -6268,22 +6327,6 @@ class VoltClient extends EventEmitter__default["default"] {
|
|
|
6268
6327
|
return unaryCallInternal.call(this, "SaveMirroredLink", request);
|
|
6269
6328
|
}
|
|
6270
6329
|
|
|
6271
|
-
SaveSyncDatabase(request) {
|
|
6272
|
-
return unaryCallInternal.call(this, "SaveSyncDatabase", request);
|
|
6273
|
-
}
|
|
6274
|
-
|
|
6275
|
-
SaveSynapse(request) {
|
|
6276
|
-
return unaryCallInternal.call(this, "SaveSynapse", request);
|
|
6277
|
-
}
|
|
6278
|
-
|
|
6279
|
-
CreateSynapseConnection(request) {
|
|
6280
|
-
return unaryCallInternal.call(this, "CreateSynapseConnection", request);
|
|
6281
|
-
}
|
|
6282
|
-
|
|
6283
|
-
DeleteSynapseConnection(request) {
|
|
6284
|
-
return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
|
|
6285
|
-
}
|
|
6286
|
-
|
|
6287
6330
|
SaveSymbolicLink(request) {
|
|
6288
6331
|
return unaryCallInternal.call(this, "SaveSymbolicLink", request);
|
|
6289
6332
|
}
|
|
@@ -6352,6 +6395,10 @@ class VoltClient extends EventEmitter__default["default"] {
|
|
|
6352
6395
|
return unaryCallInternal.call(this, "SaveSession", request);
|
|
6353
6396
|
}
|
|
6354
6397
|
|
|
6398
|
+
SendEmail(request) {
|
|
6399
|
+
return unaryCallInternal.call(this, "SendEmail", request);
|
|
6400
|
+
}
|
|
6401
|
+
|
|
6355
6402
|
SetAccessRequestDecision(request) {
|
|
6356
6403
|
return unaryCallInternal.call(this, "SetAccessRequestDecision", request);
|
|
6357
6404
|
}
|
|
@@ -6595,22 +6642,19 @@ class VoltClient extends EventEmitter__default["default"] {
|
|
|
6595
6642
|
/**
|
|
6596
6643
|
* DriveAPI
|
|
6597
6644
|
*/
|
|
6598
|
-
|
|
6599
|
-
return unaryCallInternal.call(this, "
|
|
6645
|
+
SaveDriveInstance(request) {
|
|
6646
|
+
return unaryCallInternal.call(this, "SaveDriveInstance", request);
|
|
6600
6647
|
}
|
|
6601
6648
|
|
|
6602
6649
|
/**
|
|
6603
6650
|
* SyncAPI
|
|
6604
6651
|
*/
|
|
6605
|
-
|
|
6606
|
-
|
|
6652
|
+
CreateSynapseConnection(request) {
|
|
6653
|
+
return unaryCallInternal.call(this, "CreateSynapseConnection", request);
|
|
6654
|
+
}
|
|
6607
6655
|
|
|
6608
|
-
|
|
6609
|
-
|
|
6610
|
-
"SyncDocument",
|
|
6611
|
-
"METHOD_TYPE_BIDI"
|
|
6612
|
-
);
|
|
6613
|
-
return syncDocumentCall.start(grpcClient, request);
|
|
6656
|
+
DeleteSynapseConnection(request) {
|
|
6657
|
+
return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
|
|
6614
6658
|
}
|
|
6615
6659
|
|
|
6616
6660
|
DeleteSynapseDocumentMetadata(request) {
|
|
@@ -6621,10 +6665,29 @@ class VoltClient extends EventEmitter__default["default"] {
|
|
|
6621
6665
|
);
|
|
6622
6666
|
}
|
|
6623
6667
|
|
|
6668
|
+
SaveSynapse(request) {
|
|
6669
|
+
return unaryCallInternal.call(this, "SaveSynapse", request);
|
|
6670
|
+
}
|
|
6671
|
+
|
|
6672
|
+
SaveSyncDatabase(request) {
|
|
6673
|
+
return unaryCallInternal.call(this, "SaveSyncDatabase", request);
|
|
6674
|
+
}
|
|
6675
|
+
|
|
6624
6676
|
SetSynapseDocumentMetadata(request) {
|
|
6625
6677
|
return unaryCallInternal.call(this, "SetSynapseDocumentMetadata", request);
|
|
6626
6678
|
}
|
|
6627
6679
|
|
|
6680
|
+
SyncDocument(request) {
|
|
6681
|
+
const grpcClient = this.getVoltAPIClient();
|
|
6682
|
+
|
|
6683
|
+
const syncDocumentCall = new GRPCCall(
|
|
6684
|
+
this,
|
|
6685
|
+
"SyncDocument",
|
|
6686
|
+
"METHOD_TYPE_BIDI"
|
|
6687
|
+
);
|
|
6688
|
+
return syncDocumentCall.start(grpcClient, request);
|
|
6689
|
+
}
|
|
6690
|
+
|
|
6628
6691
|
WatchSynapsePath(request) {
|
|
6629
6692
|
const grpcClient = this.getVoltAPIClient();
|
|
6630
6693
|
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.20.
|
|
6
|
+
"version": "0.20.21",
|
|
7
7
|
"description": "tdx Volt library for nodejs clients",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"exports": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"author": "toby.ealden@gmail.com",
|
|
34
34
|
"license": "ISC",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@tdxvolt/volt-client-web": "^0.20.
|
|
37
|
-
"@tdxvolt/volt-utility": "^0.20.
|
|
36
|
+
"@tdxvolt/volt-client-web": "^0.20.21",
|
|
37
|
+
"@tdxvolt/volt-utility": "^0.20.21",
|
|
38
38
|
"debug": "^4.1.1",
|
|
39
39
|
"ip": "^1.1.5",
|
|
40
40
|
"jsonwebtoken": "^8.5.1",
|
package/src/volt-client.js
CHANGED
|
@@ -403,22 +403,6 @@ export class VoltClient extends EventEmitter {
|
|
|
403
403
|
return unaryCallInternal.call(this, "SaveMirroredLink", request);
|
|
404
404
|
}
|
|
405
405
|
|
|
406
|
-
SaveSyncDatabase(request) {
|
|
407
|
-
return unaryCallInternal.call(this, "SaveSyncDatabase", request);
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
SaveSynapse(request) {
|
|
411
|
-
return unaryCallInternal.call(this, "SaveSynapse", request);
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
CreateSynapseConnection(request) {
|
|
415
|
-
return unaryCallInternal.call(this, "CreateSynapseConnection", request);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
DeleteSynapseConnection(request) {
|
|
419
|
-
return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
|
|
420
|
-
}
|
|
421
|
-
|
|
422
406
|
SaveSymbolicLink(request) {
|
|
423
407
|
return unaryCallInternal.call(this, "SaveSymbolicLink", request);
|
|
424
408
|
}
|
|
@@ -487,6 +471,10 @@ export class VoltClient extends EventEmitter {
|
|
|
487
471
|
return unaryCallInternal.call(this, "SaveSession", request);
|
|
488
472
|
}
|
|
489
473
|
|
|
474
|
+
SendEmail(request) {
|
|
475
|
+
return unaryCallInternal.call(this, "SendEmail", request);
|
|
476
|
+
}
|
|
477
|
+
|
|
490
478
|
SetAccessRequestDecision(request) {
|
|
491
479
|
return unaryCallInternal.call(this, "SetAccessRequestDecision", request);
|
|
492
480
|
}
|
|
@@ -732,22 +720,19 @@ export class VoltClient extends EventEmitter {
|
|
|
732
720
|
/**
|
|
733
721
|
* DriveAPI
|
|
734
722
|
*/
|
|
735
|
-
|
|
736
|
-
return unaryCallInternal.call(this, "
|
|
723
|
+
SaveDriveInstance(request) {
|
|
724
|
+
return unaryCallInternal.call(this, "SaveDriveInstance", request);
|
|
737
725
|
}
|
|
738
726
|
|
|
739
727
|
/**
|
|
740
728
|
* SyncAPI
|
|
741
729
|
*/
|
|
742
|
-
|
|
743
|
-
|
|
730
|
+
CreateSynapseConnection(request) {
|
|
731
|
+
return unaryCallInternal.call(this, "CreateSynapseConnection", request);
|
|
732
|
+
}
|
|
744
733
|
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
"SyncDocument",
|
|
748
|
-
"METHOD_TYPE_BIDI"
|
|
749
|
-
);
|
|
750
|
-
return syncDocumentCall.start(grpcClient, request);
|
|
734
|
+
DeleteSynapseConnection(request) {
|
|
735
|
+
return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
|
|
751
736
|
}
|
|
752
737
|
|
|
753
738
|
DeleteSynapseDocumentMetadata(request) {
|
|
@@ -758,10 +743,29 @@ export class VoltClient extends EventEmitter {
|
|
|
758
743
|
);
|
|
759
744
|
}
|
|
760
745
|
|
|
746
|
+
SaveSynapse(request) {
|
|
747
|
+
return unaryCallInternal.call(this, "SaveSynapse", request);
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
SaveSyncDatabase(request) {
|
|
751
|
+
return unaryCallInternal.call(this, "SaveSyncDatabase", request);
|
|
752
|
+
}
|
|
753
|
+
|
|
761
754
|
SetSynapseDocumentMetadata(request) {
|
|
762
755
|
return unaryCallInternal.call(this, "SetSynapseDocumentMetadata", request);
|
|
763
756
|
}
|
|
764
757
|
|
|
758
|
+
SyncDocument(request) {
|
|
759
|
+
const grpcClient = this.getVoltAPIClient();
|
|
760
|
+
|
|
761
|
+
const syncDocumentCall = new GRPCCall(
|
|
762
|
+
this,
|
|
763
|
+
"SyncDocument",
|
|
764
|
+
"METHOD_TYPE_BIDI"
|
|
765
|
+
);
|
|
766
|
+
return syncDocumentCall.start(grpcClient, request);
|
|
767
|
+
}
|
|
768
|
+
|
|
765
769
|
WatchSynapsePath(request) {
|
|
766
770
|
const grpcClient = this.getVoltAPIClient();
|
|
767
771
|
|
|
@@ -470,12 +470,6 @@ message SaveDriveInstanceRequest {
|
|
|
470
470
|
// The local path of the folder to sync.
|
|
471
471
|
string target_folder = 6;
|
|
472
472
|
|
|
473
|
-
// The comma-separated include patterns.
|
|
474
|
-
string include = 7;
|
|
475
|
-
|
|
476
|
-
// The comma-separated exclude patterns.
|
|
477
|
-
string exclude = 8;
|
|
478
|
-
|
|
479
473
|
// The DID of the identity that should be used to authenticate with the remote Volt. If omitted, the authenticated identity will be used.
|
|
480
474
|
// The identity must have a private key stored in the Volt key store.
|
|
481
475
|
string identity_did = 9;
|
|
@@ -500,6 +494,7 @@ message SaveDriveInstanceRequest {
|
|
|
500
494
|
|
|
501
495
|
// Optional challenge of the relay.
|
|
502
496
|
string relay_challenge = 16;
|
|
497
|
+
|
|
503
498
|
}
|
|
504
499
|
|
|
505
500
|
message SaveDriveInstanceResponse {
|
|
@@ -921,6 +916,9 @@ message CreateEmailCredentialRequest {
|
|
|
921
916
|
|
|
922
917
|
// The passphrase for the identity key, if required (i.e. the key is encrypted).
|
|
923
918
|
string key_passphrase = 4;
|
|
919
|
+
|
|
920
|
+
// Optional description rendered in the verification email body.
|
|
921
|
+
string description = 5;
|
|
924
922
|
}
|
|
925
923
|
|
|
926
924
|
message CreateEmailCredentialResponse {
|
|
@@ -1211,6 +1209,9 @@ message CreateSynapseConnectionRequest {
|
|
|
1211
1209
|
|
|
1212
1210
|
// Optional challenge of the relay.
|
|
1213
1211
|
string relay_challenge = 14;
|
|
1212
|
+
|
|
1213
|
+
// Optional http address of the relay. If given, the relay_address and relay_ca will be ignored and the relay will be discovered at the given address.
|
|
1214
|
+
string relay_http_address = 15;
|
|
1214
1215
|
}
|
|
1215
1216
|
|
|
1216
1217
|
message CreateSynapseConnectionResponse {
|
|
@@ -1274,6 +1275,9 @@ message SaveSyncDatabaseRequest {
|
|
|
1274
1275
|
|
|
1275
1276
|
// By default, yjs updates are periodically compressed and stored as snapshots. Set this flag to disable snapshots. This will reduce the size of the database and improve performance, but will also reduce the ability to rollback to a previous state.
|
|
1276
1277
|
bool no_snapshots = 8;
|
|
1278
|
+
|
|
1279
|
+
// The number of updates to batch before flushing to the database. Defaults to 100.
|
|
1280
|
+
uint32 batch_size = 9;
|
|
1277
1281
|
}
|
|
1278
1282
|
|
|
1279
1283
|
message SaveSyncDatabaseResponse {
|
|
@@ -1685,6 +1689,15 @@ enum SecureMode {
|
|
|
1685
1689
|
SECURE_MODE_TLS = 2;
|
|
1686
1690
|
}
|
|
1687
1691
|
|
|
1692
|
+
// Per-method gRPC rate limit (unary: each RPC; client/bidi streams: first client message only).
|
|
1693
|
+
message GrpcRpcRateLimit {
|
|
1694
|
+
// Full gRPC method path, e.g. "/tdx.volt_api.volt.v1.VoltAPI/SendEmail"
|
|
1695
|
+
string method_full_name = 1;
|
|
1696
|
+
|
|
1697
|
+
// Maximum requests allowed per rolling 60-second window per identity. Zero disables this rule.
|
|
1698
|
+
uint32 max_requests_per_minute = 2;
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1688
1701
|
// Encapsulates the various Volt parameters that are configurable by the Volt owner.
|
|
1689
1702
|
message VoltParameters {
|
|
1690
1703
|
string id = 1;
|
|
@@ -1852,6 +1865,17 @@ message VoltParameters {
|
|
|
1852
1865
|
|
|
1853
1866
|
// If set, exposes a resource that gives the Volt owner read-only access the file system.
|
|
1854
1867
|
bool enable_owner_file_system_access = 54;
|
|
1868
|
+
|
|
1869
|
+
// Maximum number of pending gRPC events per event thread queue.
|
|
1870
|
+
// If unset or zero, the server default queue size is used.
|
|
1871
|
+
uint32 grpc_event_queue_size = 55;
|
|
1872
|
+
|
|
1873
|
+
// Number of gRPC event processing threads.
|
|
1874
|
+
// If unset or zero, the server default thread count is used.
|
|
1875
|
+
uint32 grpc_num_event_threads = 56;
|
|
1876
|
+
|
|
1877
|
+
// Optional per-method gRPC rate limits (see GrpcRpcRateLimit). Keyed by peer identity or fingerprint.
|
|
1878
|
+
repeated GrpcRpcRateLimit grpc_rpc_rate_limit = 57;
|
|
1855
1879
|
}
|
|
1856
1880
|
|
|
1857
1881
|
message VoltEndpoint {
|
|
@@ -2242,6 +2266,27 @@ message Session {
|
|
|
2242
2266
|
|
|
2243
2267
|
SessionStatus status = 10;
|
|
2244
2268
|
}
|
|
2269
|
+
|
|
2270
|
+
message Email {
|
|
2271
|
+
// The email address to send to.
|
|
2272
|
+
repeated string to = 1;
|
|
2273
|
+
|
|
2274
|
+
// The email address to send cc to.
|
|
2275
|
+
repeated string cc = 2;
|
|
2276
|
+
|
|
2277
|
+
// The email address to send bcc to.
|
|
2278
|
+
repeated string bcc = 3;
|
|
2279
|
+
|
|
2280
|
+
// The subject of the email.
|
|
2281
|
+
string subject = 4;
|
|
2282
|
+
|
|
2283
|
+
// The body of the email.
|
|
2284
|
+
string body = 5;
|
|
2285
|
+
|
|
2286
|
+
// The email address to send from.
|
|
2287
|
+
string from = 6;
|
|
2288
|
+
}
|
|
2289
|
+
|
|
2245
2290
|
`;
|
|
2246
2291
|
export const volt_api = `syntax = "proto3";
|
|
2247
2292
|
|
|
@@ -2390,6 +2435,10 @@ service VoltAPI {
|
|
|
2390
2435
|
// Requires \`volt:session-write\` permission. Authenticated sessions have this privilege by default.
|
|
2391
2436
|
rpc SaveSession(SaveSessionRequest) returns (SaveSessionResponse);
|
|
2392
2437
|
|
|
2438
|
+
// Send an email.
|
|
2439
|
+
// This is a privileged API call and requires volt:api-call / volt:send-email permission.
|
|
2440
|
+
rpc SendEmail(SendEmailRequest) returns (SendEmailResponse);
|
|
2441
|
+
|
|
2393
2442
|
// Set Volt access request decision.
|
|
2394
2443
|
// This is a privileged API call and requires volt:api-call / volt:set-access-request-decision permission.
|
|
2395
2444
|
rpc SetAccessRequestDecision(SetAccessRequestDecisionRequest) returns (SetAccessRequestDecisionResponse);
|
|
@@ -3410,6 +3459,29 @@ message SaveSessionResponse {
|
|
|
3410
3459
|
Session session = 2;
|
|
3411
3460
|
}
|
|
3412
3461
|
|
|
3462
|
+
message SendEmailRequest {
|
|
3463
|
+
// The email to send.
|
|
3464
|
+
Email email = 1;
|
|
3465
|
+
}
|
|
3466
|
+
|
|
3467
|
+
message SendEmailResponse {
|
|
3468
|
+
// Details of any error that occurred on the call.
|
|
3469
|
+
tdx.volt_api.volt.v1.Status status = 1;
|
|
3470
|
+
}
|
|
3471
|
+
|
|
3472
|
+
message SetAccessRequestDecisionRequest {
|
|
3473
|
+
// The id of the access request.
|
|
3474
|
+
string id = 1;
|
|
3475
|
+
|
|
3476
|
+
// The decision to save against the access request.
|
|
3477
|
+
PolicyDecision decision = 2;
|
|
3478
|
+
}
|
|
3479
|
+
|
|
3480
|
+
message SetAccessRequestDecisionResponse {
|
|
3481
|
+
// Details of any error that occurred on the call.
|
|
3482
|
+
tdx.volt_api.volt.v1.Status status = 1;
|
|
3483
|
+
}
|
|
3484
|
+
|
|
3413
3485
|
message SetPolicyRequest {
|
|
3414
3486
|
// The id of the policy to set.
|
|
3415
3487
|
// Should be either 00000000-0000-0000-0000-000000000000 or 00000000-0000-0000-0000-000000000001 for the first or last custom policy respectively.
|
|
@@ -3437,19 +3509,6 @@ message SetServiceStatusResponse {
|
|
|
3437
3509
|
Resource resource = 2;
|
|
3438
3510
|
}
|
|
3439
3511
|
|
|
3440
|
-
message SetAccessRequestDecisionRequest {
|
|
3441
|
-
// The id of the access request.
|
|
3442
|
-
string id = 1;
|
|
3443
|
-
|
|
3444
|
-
// The decision to save against the access request.
|
|
3445
|
-
PolicyDecision decision = 2;
|
|
3446
|
-
}
|
|
3447
|
-
|
|
3448
|
-
message SetAccessRequestDecisionResponse {
|
|
3449
|
-
// Details of any error that occurred on the call.
|
|
3450
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
3451
|
-
}
|
|
3452
|
-
|
|
3453
3512
|
// This message is emtpy.
|
|
3454
3513
|
message ShutdownRequest {
|
|
3455
3514
|
}
|