@tdxvolt/volt-client-grpc 0.18.3 → 0.18.4
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 +3214 -186
- package/package.json +5 -2
- package/scripts/generate-proto-assets.js +71 -0
- package/src/constants.js +2 -1
- package/src/grpc-call.js +7 -3
- package/src/proto-package-definition.js +183 -0
- package/src/proto-utils.js +41 -111
- package/src/volt-client-internal.js +5 -30
- package/src/volt-client.js +0 -57
- package/src/volt-proto-literals.js +2985 -0
- package/protobuf/README.md +0 -4
- package/protobuf/tdx/volt_api/data/v1/sqlite.proto +0 -43
- package/protobuf/tdx/volt_api/data/v1/sqlite_database_api.proto +0 -153
- package/protobuf/tdx/volt_api/data/v1/sqlite_server_api.proto +0 -50
- package/protobuf/tdx/volt_api/relay/v1/proxy_api.proto +0 -9
- package/protobuf/tdx/volt_api/relay/v1/relay_api.proto +0 -78
- package/protobuf/tdx/volt_api/sync/v1/sync.proto +0 -57
- package/protobuf/tdx/volt_api/volt/v1/discovery_api.proto +0 -35
- package/protobuf/tdx/volt_api/volt/v1/file.proto +0 -17
- package/protobuf/tdx/volt_api/volt/v1/file_api.proto +0 -165
- package/protobuf/tdx/volt_api/volt/v1/remote.proto +0 -93
- package/protobuf/tdx/volt_api/volt/v1/spark_api.proto +0 -121
- package/protobuf/tdx/volt_api/volt/v1/ssi.proto +0 -66
- package/protobuf/tdx/volt_api/volt/v1/ssi_api.proto +0 -214
- package/protobuf/tdx/volt_api/volt/v1/status.proto +0 -15
- package/protobuf/tdx/volt_api/volt/v1/terminal_api.proto +0 -42
- package/protobuf/tdx/volt_api/volt/v1/volt.proto +0 -666
- package/protobuf/tdx/volt_api/volt/v1/volt_api.proto +0 -1082
- package/protobuf/tdx/volt_api/volt/v1/wire_api.proto +0 -56
|
@@ -1,1082 +0,0 @@
|
|
|
1
|
-
syntax = "proto3";
|
|
2
|
-
|
|
3
|
-
package tdx.volt_api.volt.v1;
|
|
4
|
-
|
|
5
|
-
import "tdx/volt_api/volt/v1/status.proto";
|
|
6
|
-
import "tdx/volt_api/volt/v1/remote.proto";
|
|
7
|
-
import "tdx/volt_api/volt/v1/ssi.proto";
|
|
8
|
-
import "tdx/volt_api/volt/v1/volt.proto";
|
|
9
|
-
|
|
10
|
-
// The top-level volt management service.
|
|
11
|
-
// With the exception of `Authenticate`, all RPCs on this service must submit either a valid client certificate signed by the volt CA, or a signed JWT.
|
|
12
|
-
// A client certificate can be obtained from the `Authenticate` method.
|
|
13
|
-
// All methods include a `tdx.volt_api.volt.v1.Status` in the response. If the status contains a non-OK error code the client should assume the remainder of the message is invalid, unless otherwise indicated in the response documentation.
|
|
14
|
-
service VoltAPI {
|
|
15
|
-
// Issues a request to authenticate on the volt.
|
|
16
|
-
// All clients must successfully authenticate in order to gain any kind of access.
|
|
17
|
-
// A client certificate is optional for this RPC, if omitted a JWT must be provided in the call metadata.
|
|
18
|
-
// If the client plans to register one or more services with the Volt, it should use the 'host' field of the request so that the returned certificate has the appropriate SAN extension in place. Note that if the client IP address changes it will be necessary to re-authenticate the client and obtain a new certificate.
|
|
19
|
-
// If the authenticate decision is 'permit', the response contains various details that should be persisted by the client, including the unique identifier assigned by the Volt and a signed client certificate along with the Volt CA certificate.
|
|
20
|
-
rpc Authenticate(AuthenticateRequest) returns (AuthenticateResponse);
|
|
21
|
-
|
|
22
|
-
// Determine if an identity can perform a specific action on a resource.
|
|
23
|
-
// Third party services can use this to interrogate the Volt policy and determine if a client has permission to perform a certain action on a resource.
|
|
24
|
-
rpc CanAccessResource(CanAccessResourceRequest) returns (CanAccessResourceResponse);
|
|
25
|
-
|
|
26
|
-
rpc CheckCompatibility(CheckCompatibilityRequest) returns (CheckCompatibilityResponse);
|
|
27
|
-
|
|
28
|
-
// Creates a long-lived, bi-directional connection to the Volt.
|
|
29
|
-
// The connection stream serves several purposes, including remote invocations via a Relay, Volt event notifications, pings and service registration management.
|
|
30
|
-
// A connection stream is required in order for a client to be able to register services with the Volt.
|
|
31
|
-
// When the stream is closed, any services registered on it will be set to offline.
|
|
32
|
-
rpc Connect(stream ConnectRequest) returns (stream ConnectResponse);
|
|
33
|
-
|
|
34
|
-
// Copy a resource from one folder to another.
|
|
35
|
-
// The resource metadata, attributes and store are copied.
|
|
36
|
-
// The shares attributed to the resource are **not** currently copied.
|
|
37
|
-
// n.b. Copy resources between Volts is not supported by this API. This is achieved by creating an API instance for the source and target Volts, getting the resource from the source and creating it on the target.
|
|
38
|
-
rpc CopyResource(CopyResourceRequest) returns (CopyResourceResponse);
|
|
39
|
-
|
|
40
|
-
// Remove a custom access rule, such as a file share.
|
|
41
|
-
rpc DeleteAccess(DeleteAccessRequest) returns (DeleteAccessResponse);
|
|
42
|
-
|
|
43
|
-
// Delete a resource from this volt.
|
|
44
|
-
rpc DeleteResource(DeleteResourceRequest) returns (DeleteResourceResponse);
|
|
45
|
-
|
|
46
|
-
// Discover services running on this volt.
|
|
47
|
-
// Lookup is done via the exposed serviceAPI, e.g. tdx.volt_api.data.v1.SqliteServerAPI.
|
|
48
|
-
rpc DiscoverServices(DiscoverServicesRequest) returns (DiscoverServicesResponse);
|
|
49
|
-
|
|
50
|
-
// Get access rule details.
|
|
51
|
-
// Only rules in which the authenticated identity participates will be retrieved, in addition to any rules that target a resource that is owned by the authenticated identity.
|
|
52
|
-
// If the authenticated identity is the Volt root, all rules will be retrieved that match the criteria.
|
|
53
|
-
rpc GetAccess(GetAccessRequest) returns (GetAccessResponse);
|
|
54
|
-
|
|
55
|
-
// Retrieve identities matching the given criteria.
|
|
56
|
-
// Only identities that the authenticated identity has read access to will be retrieved.
|
|
57
|
-
rpc GetIdentities(GetIdentitiesRequest) returns (GetIdentitiesResponse);
|
|
58
|
-
|
|
59
|
-
// Get details of a specific identity.
|
|
60
|
-
// The identity will only be retrieved if the authenticated identity has read access to it.
|
|
61
|
-
rpc GetIdentity(GetIdentityRequest) returns (GetIdentityResponse);
|
|
62
|
-
|
|
63
|
-
// Gets a one-time token that can be used as a temporary authentication token, for example create an file download link that expires after a certain time.
|
|
64
|
-
rpc GetOneTimeToken(GetOneTimeTokenRequest) returns (GetOneTimeTokenResponse);
|
|
65
|
-
|
|
66
|
-
// Retrieve the Volt parameters.
|
|
67
|
-
// This is a privileged API call and requires Volt root access.
|
|
68
|
-
rpc GetParameters(GetParametersRequest) returns (GetParametersResponse);
|
|
69
|
-
|
|
70
|
-
// Retrieve the active Volt policy.
|
|
71
|
-
// This is a privileged API call and requires Volt root access.
|
|
72
|
-
rpc GetPolicy(GetPolicyRequest) returns (GetPolicyResponse);
|
|
73
|
-
|
|
74
|
-
// Get resource from this volt.
|
|
75
|
-
rpc GetResource(GetResourceRequest) returns (GetResourceResponse);
|
|
76
|
-
|
|
77
|
-
// Get resources from this volt.
|
|
78
|
-
rpc GetResources(GetResourcesRequest) returns (GetResourcesResponse);
|
|
79
|
-
|
|
80
|
-
// Get ancestors of a resource.
|
|
81
|
-
rpc GetResourceAncestors(GetResourceAncestorsRequest) returns (GetResourceAncestorsResponse);
|
|
82
|
-
|
|
83
|
-
// Get descendants of a resource.
|
|
84
|
-
rpc GetResourceDescendants(GetResourceDescendantsRequest) returns (GetResourceDescendantsResponse);
|
|
85
|
-
|
|
86
|
-
// Get sessions.
|
|
87
|
-
rpc GetSessions(GetSessionsRequest) returns (GetSessionsResponse);
|
|
88
|
-
|
|
89
|
-
// Invoke a method.
|
|
90
|
-
// This is primarily for use by Relay connections when proxying invocations.
|
|
91
|
-
rpc Invoke(stream InvokeRequest) returns (stream InvokeResponse);
|
|
92
|
-
|
|
93
|
-
// Move a resource from one folder to another.
|
|
94
|
-
rpc MoveResource(MoveResourceRequest) returns (MoveResourceResponse);
|
|
95
|
-
|
|
96
|
-
// Request access to a resource.
|
|
97
|
-
// The subject of the access is assumed to be the identity of the currently authenticated peer.
|
|
98
|
-
rpc RequestAccess(RequestAccessRequest) returns (RequestAccessResponse);
|
|
99
|
-
|
|
100
|
-
// Create or update an access rule.
|
|
101
|
-
rpc SaveAccess(SaveAccessRequest) returns (SaveAccessResponse);
|
|
102
|
-
|
|
103
|
-
// Create or update a static file HTTP server.
|
|
104
|
-
rpc SaveHttpFileServer(SaveResourceRequest) returns (SaveResourceResponse);
|
|
105
|
-
|
|
106
|
-
// Create or update an HTTP REST API server.
|
|
107
|
-
rpc SaveHttpApiServer(SaveResourceRequest) returns (SaveResourceResponse);
|
|
108
|
-
|
|
109
|
-
// Create or update an identity.
|
|
110
|
-
rpc SaveIdentity(SaveIdentityRequest) returns (SaveIdentityResponse);
|
|
111
|
-
|
|
112
|
-
// Create or update a mirrored link resource.
|
|
113
|
-
rpc SaveMirroredLink(SaveResourceRequest) returns (SaveResourceResponse);
|
|
114
|
-
|
|
115
|
-
// Update Volt parameters.
|
|
116
|
-
// This is a privileged call that requires Volt root access.
|
|
117
|
-
rpc SaveParameters(SaveParametersRequest) returns (SaveParametersResponse);
|
|
118
|
-
|
|
119
|
-
// Create or update resource in this volt.
|
|
120
|
-
rpc SaveResource(SaveResourceRequest) returns (SaveResourceResponse);
|
|
121
|
-
|
|
122
|
-
// Create or update a symbolic link resource.
|
|
123
|
-
rpc SaveSymbolicLink(SaveResourceRequest) returns (SaveResourceResponse);
|
|
124
|
-
|
|
125
|
-
// Save a session.
|
|
126
|
-
rpc SaveSession(SaveSessionRequest) returns (SaveSessionResponse);
|
|
127
|
-
|
|
128
|
-
// Set Volt access request decision.
|
|
129
|
-
// This is a privileged call that requires Volt root access.
|
|
130
|
-
rpc SetAccessRequestDecision(SetAccessRequestDecisionRequest) returns (SetAccessRequestDecisionResponse);
|
|
131
|
-
|
|
132
|
-
rpc SetPolicy(SetPolicyRequest) returns (SetPolicyResponse);
|
|
133
|
-
|
|
134
|
-
// Set the status of a Volt service.
|
|
135
|
-
rpc SetServiceStatus(SetServiceStatusRequest) returns (SetServiceStatusResponse);
|
|
136
|
-
|
|
137
|
-
// Used to shutdown remote Volts.
|
|
138
|
-
// This is a privileged call that requires Volt root access.
|
|
139
|
-
rpc Shutdown(ShutdownRequest) returns (ShutdownResponse);
|
|
140
|
-
|
|
141
|
-
// Sign or verify an arbitrary message using the Volt key.
|
|
142
|
-
rpc SignVerify(SignVerifyRequest) returns (SignVerifyResponse);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Describes a request to authenticate on a Volt.
|
|
146
|
-
// Present one of the `public_key`, `did_public_key`, `did`, or `did_document` fields.
|
|
147
|
-
message AuthenticateRequest {
|
|
148
|
-
|
|
149
|
-
oneof client_identifier {
|
|
150
|
-
// The client public key in PEM format. The Volt will create a session that is bound to this public key.
|
|
151
|
-
string public_key = 1;
|
|
152
|
-
|
|
153
|
-
// The client public key - must be in PEM format. If the client DID is lost or unknown for some reason, providing the public key here will allow the Volt to match it with the previously registered DID.
|
|
154
|
-
// Note this is only valid when a DID has previously been registered using this public key.
|
|
155
|
-
string did_public_key = 2;
|
|
156
|
-
|
|
157
|
-
// An existing DID owned by the client.
|
|
158
|
-
// The JWT presented with the authenticate call must be signed by the private key corresponding to this DID.
|
|
159
|
-
string did = 3;
|
|
160
|
-
|
|
161
|
-
// If the client doesn't have an existing DID, a DID document can be provided here.
|
|
162
|
-
// The Volt will register the DID on behalf of the client.
|
|
163
|
-
// The JWT presented with the authenticate call must be signed by the private key corresponding to this document.
|
|
164
|
-
string did_document = 4;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
// A base64-encoded signature of the DID document, only required if `did_document` is provided above.
|
|
168
|
-
string did_document_signature = 5;
|
|
169
|
-
|
|
170
|
-
// A human-readable name of the entity requesting to authenticate.
|
|
171
|
-
string client_name = 6;
|
|
172
|
-
|
|
173
|
-
// The volt challenge code, signed by the private key component of the `public_key` field above, and base64 encoded.
|
|
174
|
-
// This is optional.
|
|
175
|
-
string challenge = 7;
|
|
176
|
-
|
|
177
|
-
// The host name to add as a SAN to the issued certificate.
|
|
178
|
-
// This is optional, if you don't intend to host services with the certificate this can be omitted.
|
|
179
|
-
string host = 8;
|
|
180
|
-
|
|
181
|
-
// Optional verifiable credentials describing the client.
|
|
182
|
-
repeated VerifiablePresentation verifiable_presentation = 9;
|
|
183
|
-
|
|
184
|
-
// Reserved for internal use.
|
|
185
|
-
bool purge_aliases = 10;
|
|
186
|
-
|
|
187
|
-
// Optional additional name to differentiate between multiple sessions for a given client.
|
|
188
|
-
string session_name = 11;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
message AuthenticateResponse {
|
|
192
|
-
// Details of any error that occurred on the call.
|
|
193
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
194
|
-
|
|
195
|
-
string session_id = 2;
|
|
196
|
-
|
|
197
|
-
// The identity id assigned to this authentication.
|
|
198
|
-
string identity_did = 3;
|
|
199
|
-
|
|
200
|
-
// A certificate issued by the volt CA, binding the request public key to the identity.
|
|
201
|
-
// Only valid for PERMIT authenticate decisions.
|
|
202
|
-
string cert = 4;
|
|
203
|
-
|
|
204
|
-
// The volt CA chain. This is used by the client in subsequent API calls to secure the connection.
|
|
205
|
-
string chain = 5;
|
|
206
|
-
|
|
207
|
-
// The authenticate decision.
|
|
208
|
-
PolicyDecision decision = 6;
|
|
209
|
-
|
|
210
|
-
// Reserved for internal use.
|
|
211
|
-
int64 request_time = 7;
|
|
212
|
-
|
|
213
|
-
// Reserved for internal use.
|
|
214
|
-
int64 decision_time = 8;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
message CanAccessResourceRequest {
|
|
218
|
-
oneof subject {
|
|
219
|
-
// The subject of the access request.
|
|
220
|
-
// This is optional, and if omitted will default to the authenticated account.
|
|
221
|
-
string token = 1;
|
|
222
|
-
|
|
223
|
-
// The subject of the access request.
|
|
224
|
-
// This is optional, and if omitted will default to the authenticated account.
|
|
225
|
-
string cert = 2;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
// The resource in question.
|
|
229
|
-
string resource_id = 3;
|
|
230
|
-
|
|
231
|
-
// The type of access that is required.
|
|
232
|
-
string access = 4;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
message CanAccessResourceResponse {
|
|
236
|
-
// Details of any error that occurred on the call.
|
|
237
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
238
|
-
|
|
239
|
-
// The identity subject that the access relates to.
|
|
240
|
-
string identity_did = 2;
|
|
241
|
-
|
|
242
|
-
// The resource the access relates to.
|
|
243
|
-
string resource_id = 4;
|
|
244
|
-
|
|
245
|
-
// The access type.
|
|
246
|
-
string access = 5;
|
|
247
|
-
|
|
248
|
-
// The policy decision for this access request.
|
|
249
|
-
PolicyDecision decision = 6;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
message CheckCompatibilityRequest {
|
|
253
|
-
// The client platform API version.
|
|
254
|
-
Version version = 1;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
message CheckCompatibilityResponse {
|
|
258
|
-
// Details of any error that occurred on the call.
|
|
259
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
260
|
-
|
|
261
|
-
// The target Volt API version.
|
|
262
|
-
Version version = 2;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
// All fields in this message are optional, send an empty message if necessary.
|
|
266
|
-
message ConnectHello {
|
|
267
|
-
// Optionally specify the grpc server address of the client. Only used if the client is a Volt (or service).
|
|
268
|
-
string address = 1;
|
|
269
|
-
|
|
270
|
-
// Set to automatically make **all** services owned by the calling identity online.
|
|
271
|
-
bool online_services = 3;
|
|
272
|
-
|
|
273
|
-
// Set to receive notification of resource events.
|
|
274
|
-
bool subscribe_resource_events = 4;
|
|
275
|
-
|
|
276
|
-
// Set this if you are connecting to a relay, i.e. the Volt you are sending to this message is a relay.
|
|
277
|
-
// This indicates that you are happy to receive method invocations from clients of the Relay.
|
|
278
|
-
// This will usually be set to the `id` of your Volt, but in theory any client could receive remote invocation requests in this way.
|
|
279
|
-
string relay_id = 5;
|
|
280
|
-
|
|
281
|
-
// A friendly name to present to Relay clients.
|
|
282
|
-
string relay_name = 6;
|
|
283
|
-
|
|
284
|
-
string relay_description = 7;
|
|
285
|
-
|
|
286
|
-
// The certificate authority to present to Relay clients.
|
|
287
|
-
string relay_ca_pem = 8;
|
|
288
|
-
|
|
289
|
-
// Set to indicate the connection is discoverable to other Relay clients.
|
|
290
|
-
bool relay_discoverable = 9;
|
|
291
|
-
|
|
292
|
-
// Optionally specify the address of the HTTP server to use for HTTP proxying. If set, a relay will forward HTTP requests to this address from the subdomain that matches the client's DID.
|
|
293
|
-
string relay_http_address = 10;
|
|
294
|
-
|
|
295
|
-
// Set to receive notification of authentication requests.
|
|
296
|
-
bool subscribe_auth_requests = 11;
|
|
297
|
-
|
|
298
|
-
// Set to indicate the connection will accept method invocation requests.
|
|
299
|
-
bool accept_invocation = 12;
|
|
300
|
-
|
|
301
|
-
// Set to subscribe to DID registry updates from the peer.
|
|
302
|
-
bool subscribe_did_registry_updates = 13;
|
|
303
|
-
|
|
304
|
-
// The interval at which the client will send ping requests to the target.
|
|
305
|
-
uint32 ping_interval = 14;
|
|
306
|
-
|
|
307
|
-
// The current time on the client.
|
|
308
|
-
uint64 timestamp = 15;
|
|
309
|
-
|
|
310
|
-
// Optionally specify the DID registries supported.
|
|
311
|
-
repeated string did_registry = 16;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
message ConnectAcknowledge {
|
|
315
|
-
// A unique identifier for this connection.
|
|
316
|
-
string connection_id = 1;
|
|
317
|
-
|
|
318
|
-
// The current time on the Volt.
|
|
319
|
-
uint64 timestamp = 2;
|
|
320
|
-
|
|
321
|
-
// The interval at which the target will send ping requests to the client.
|
|
322
|
-
uint32 ping_interval = 3;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
// A connection ping message - intentionally empty.
|
|
326
|
-
message ConnectPing {
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
message ConnectGoodbye {
|
|
330
|
-
// Details of any error that occurred on the call.
|
|
331
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
332
|
-
|
|
333
|
-
// Set if the connection was ended gracefully, as opposed to errored.
|
|
334
|
-
bool ended = 2;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
message ConnectRelay {
|
|
338
|
-
// Indicates the Relay connection status.
|
|
339
|
-
bool connected = 1;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
enum ConnectResourceEvent {
|
|
343
|
-
CONNECT_RESOURCE_EVENT_UNKNOWN = 0;
|
|
344
|
-
CONNECT_RESOURCE_EVENT_CREATE = 1;
|
|
345
|
-
CONNECT_RESOURCE_EVENT_UPDATE = 2;
|
|
346
|
-
CONNECT_RESOURCE_EVENT_DELETE = 3;
|
|
347
|
-
CONNECT_RESOURCE_EVENT_CREATE_CHILD = 4;
|
|
348
|
-
CONNECT_RESOURCE_EVENT_DELETE_CHILD = 5;
|
|
349
|
-
CONNECT_RESOURCE_EVENT_DATABASE_WRITE = 6;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
message ConnectResource {
|
|
353
|
-
// The type of resource event that has occurred.
|
|
354
|
-
ConnectResourceEvent event = 1;
|
|
355
|
-
|
|
356
|
-
// Details of the resource.
|
|
357
|
-
Resource resource = 2;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
message ConnectAuthRequest {
|
|
361
|
-
Session session = 1;
|
|
362
|
-
|
|
363
|
-
string context = 5;
|
|
364
|
-
|
|
365
|
-
string challenge = 6;
|
|
366
|
-
|
|
367
|
-
uint64 timestamp = 7;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
message ConnectDIDRegistryUpdate {
|
|
371
|
-
DIDRegistryUpdate update = 1;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
message ConnectEvent {
|
|
375
|
-
oneof event {
|
|
376
|
-
// An authentication request event.
|
|
377
|
-
ConnectAuthRequest connect_auth_request = 1;
|
|
378
|
-
|
|
379
|
-
// A resource event notification, such as updated or deleted.
|
|
380
|
-
ConnectResource connect_resource = 2;
|
|
381
|
-
|
|
382
|
-
// A DID registry entry update.
|
|
383
|
-
ConnectDIDRegistryUpdate did_registry_update = 3;
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
// One of the following payloads will be present in a given ConnectRequest message.
|
|
388
|
-
message ConnectRequest {
|
|
389
|
-
oneof payload {
|
|
390
|
-
// A ConnectHello message is the first message a client sends to the target upon successfully starting the call.
|
|
391
|
-
ConnectHello hello = 1;
|
|
392
|
-
|
|
393
|
-
// Indicates the client is closing the connection.
|
|
394
|
-
ConnectGoodbye goodbye = 2;
|
|
395
|
-
|
|
396
|
-
// Clients should periodically send ping requests to the target to confirm the stream is still live.
|
|
397
|
-
ConnectPing ping = 4;
|
|
398
|
-
|
|
399
|
-
// Send invocation responses back to the caller.
|
|
400
|
-
// n.b. The 'request' and 'response' semantics are inverted with remote invocations because the Relayed connection is established by a request **from** the 'target' Volt to the Relay. Hence any invocation on behalf of a client of the Relay involves sending a **response** back down the Relay connection to the 'target' Volt.
|
|
401
|
-
InvokeResponse invoke_response = 5;
|
|
402
|
-
|
|
403
|
-
// Send HTTP response back to the originating request.
|
|
404
|
-
// n.b. The 'request' and 'response' semantics are inverted with HTTP proxying for the same reason as `invoke_response` above.
|
|
405
|
-
HttpResponse http_response = 6;
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
// One of the following payloads will be present in a given ConnectResponse message.
|
|
410
|
-
message ConnectResponse {
|
|
411
|
-
// Details of any error that occurred on the call.
|
|
412
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
413
|
-
|
|
414
|
-
oneof payload {
|
|
415
|
-
// Server response to initial handshake.
|
|
416
|
-
ConnectAcknowledge acknowledge = 2;
|
|
417
|
-
|
|
418
|
-
// Indicates the server is ending the connection.
|
|
419
|
-
ConnectGoodbye goodbye = 3;
|
|
420
|
-
|
|
421
|
-
// Notifies clients of various events on the Volt.
|
|
422
|
-
ConnectEvent evt = 4;
|
|
423
|
-
|
|
424
|
-
// Periodic ping response.
|
|
425
|
-
ConnectPing ping = 6;
|
|
426
|
-
|
|
427
|
-
// Send an invocation request to a remote target.
|
|
428
|
-
// n.b. The 'request' and 'response' semantics are inverted for remote invocations because the Relayed connection is established by a request **from** the 'target' Volt to the Relay. Hence any invocation on behalf of a client of the Relay involves sending a **response** back down the Relay connection to the 'target' Volt.
|
|
429
|
-
InvokeRequest invoke_request = 7;
|
|
430
|
-
|
|
431
|
-
// Send an HTTP request to a remote target.
|
|
432
|
-
// n.b. The 'request' and 'response' semantics are inverted for HTTP requests for the same reason as `invoke_request` above.
|
|
433
|
-
HttpRequest http_request = 8;
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
enum CopyResourceMode {
|
|
438
|
-
COPY_RESOURCE_MODE_UNKNOWN = 0;
|
|
439
|
-
COPY_RESOURCE_MODE_COPY = 1;
|
|
440
|
-
COPY_RESOURCE_MODE_LINK = 2;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
message CopyResourceRequest {
|
|
444
|
-
// The id of the resource to copy.
|
|
445
|
-
string resource_id = 1;
|
|
446
|
-
|
|
447
|
-
// The id of the resource to receive the new copy.
|
|
448
|
-
string to_resource_id = 2;
|
|
449
|
-
|
|
450
|
-
// The copy mode to use.
|
|
451
|
-
CopyResourceMode mode = 3;
|
|
452
|
-
|
|
453
|
-
// Indicates if all descendants of the resource should be copied too. Only relevant for COPY_RESOURCE_MODE_COPY mode.
|
|
454
|
-
bool recursive = 4;
|
|
455
|
-
|
|
456
|
-
// The parent resource to link from, only relevant for COPY_RESOURCE_MODE_LINK mode.
|
|
457
|
-
string from_resource_id = 5;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
message CopyResourceResponse {
|
|
461
|
-
// Details of any error that occurred on the call.
|
|
462
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
message DeleteAccessRequest {
|
|
466
|
-
// The id of the access rule to delete.
|
|
467
|
-
string id = 1;
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
message DeleteAccessResponse {
|
|
471
|
-
// Details of any error that occurred on the call.
|
|
472
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
message DeleteResourceRequest {
|
|
476
|
-
// The resource to delete.
|
|
477
|
-
string resource_id = 1;
|
|
478
|
-
|
|
479
|
-
// Set to indicate all descendant resources should also be deleted.
|
|
480
|
-
// If this is not set and the resource has descendants, the call will fail.
|
|
481
|
-
bool recursive = 2;
|
|
482
|
-
|
|
483
|
-
// Set to attempt to unlink the resource from this parent resource, rather than completely delete it.
|
|
484
|
-
// The resource will be removed as a descendant from the `parent_id` resource. If the resource is has more than one parent, it will not be removed from those other parents.
|
|
485
|
-
// Note that if the resource's only parent is `parent_id` it will be removed from that parent and deleted as normal.
|
|
486
|
-
string parent_id = 3;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
message DeleteResourceResponse {
|
|
490
|
-
// Details of any error that occurred on the call.
|
|
491
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
message DiscoverServicesRequest {
|
|
495
|
-
// List the service APIs that should be discovered.
|
|
496
|
-
// The response will include services that match **any of** the terms given.
|
|
497
|
-
// Use of '*' to indicate wildcards is supported.
|
|
498
|
-
repeated string service_api = 1;
|
|
499
|
-
|
|
500
|
-
// Set to indicate that offline services should be included in the response.
|
|
501
|
-
bool include_offline = 2;
|
|
502
|
-
|
|
503
|
-
// Set to include the service attributes in the response.
|
|
504
|
-
bool include_attributes = 3;
|
|
505
|
-
|
|
506
|
-
// Set to include the service protobuf in the response.
|
|
507
|
-
bool include_protobuf = 4;
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
message DiscoverServicesResponse {
|
|
511
|
-
// Details of any error that occurred on the call.
|
|
512
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
513
|
-
|
|
514
|
-
// The services that were discovered.
|
|
515
|
-
repeated Resource resource = 2;
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
message GetAccessRequest {
|
|
519
|
-
// The resource id that is the target of the access rule. If omitted, all resources will be considered.
|
|
520
|
-
string resource_id = 1;
|
|
521
|
-
|
|
522
|
-
// The identity id that is the subject of the access rule. If omitted, all identities will be considered.
|
|
523
|
-
string identity_did = 2;
|
|
524
|
-
|
|
525
|
-
// The type of access to retrieve, if omitted all access will be considered.
|
|
526
|
-
string access = 4;
|
|
527
|
-
|
|
528
|
-
// The type of decision, if omitted all decisions will be considered.
|
|
529
|
-
PolicyDecision decision = 5;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
message GetAccessResponse {
|
|
533
|
-
// Details of any error that occurred on the call.
|
|
534
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
535
|
-
|
|
536
|
-
// The access rules that match the criteria.
|
|
537
|
-
repeated Access access = 2;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
message GetIdentitiesRequest {
|
|
541
|
-
// Optional name of the identity.
|
|
542
|
-
// Use '*' to perform a wildcard search.
|
|
543
|
-
// If omitted all identities will be retrieved.
|
|
544
|
-
string name = 1;
|
|
545
|
-
|
|
546
|
-
// The identity alias criteria, if omitted all identities will be considered.
|
|
547
|
-
IdentityAlias alias = 2;
|
|
548
|
-
}
|
|
549
|
-
|
|
550
|
-
message GetIdentitiesResponse {
|
|
551
|
-
// Details of any error that occurred on the call.
|
|
552
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
553
|
-
|
|
554
|
-
// The identity list that matched the criteria.
|
|
555
|
-
repeated Identity identity = 2;
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
// One of `identity_did` or `fingerprint` must be populated.
|
|
559
|
-
message GetIdentityRequest {
|
|
560
|
-
oneof lookup {
|
|
561
|
-
// The id of the identity to retrieve.
|
|
562
|
-
string identity_did = 1;
|
|
563
|
-
// The public key fingerprint of the identity to retrieve.
|
|
564
|
-
string fingerprint = 2;
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
message GetIdentityResponse {
|
|
569
|
-
// Details of any error that occurred on the call.
|
|
570
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
571
|
-
|
|
572
|
-
// The identity details.
|
|
573
|
-
Identity identity = 2;
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
message GetOneTimeTokenRequest {
|
|
577
|
-
// Optional token TTL, in seconds. Default is 10 seconds.
|
|
578
|
-
int32 ttl = 1;
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
message GetOneTimeTokenResponse {
|
|
582
|
-
// Details of any error that occurred on the call.
|
|
583
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
584
|
-
|
|
585
|
-
// The one-time token.
|
|
586
|
-
string token = 2;
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
// This an empty message.
|
|
590
|
-
message GetParametersRequest {
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
message GetParametersResponse {
|
|
594
|
-
// Details of any error that occurred on the call.
|
|
595
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
596
|
-
|
|
597
|
-
// The retrieved Volt parameters.
|
|
598
|
-
VoltParameters parameters = 2;
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
// This an empty message.
|
|
602
|
-
message GetPolicyRequest {
|
|
603
|
-
// Set to only retrieve the custom policy document.
|
|
604
|
-
bool custom_policy = 1;
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
message GetPolicyResponse {
|
|
608
|
-
// Details of any error that occurred on the call.
|
|
609
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
610
|
-
|
|
611
|
-
// The live policy in JSON format.
|
|
612
|
-
string policy = 2;
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
message GetResourceRequest {
|
|
616
|
-
// The id of the resource to retrieve.
|
|
617
|
-
string resource_id = 1;
|
|
618
|
-
|
|
619
|
-
// Set to include the resource attributes in the response.
|
|
620
|
-
bool include_attributes = 2;
|
|
621
|
-
|
|
622
|
-
// Set to include service description protobuf in the response, if applicable.
|
|
623
|
-
bool include_protobuf = 3;
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
message GetResourceResponse {
|
|
627
|
-
// Details of any error that occurred on the call.
|
|
628
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
629
|
-
|
|
630
|
-
// The retrieved resource metadata.
|
|
631
|
-
Resource resource = 2;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
// By default, the lookup is performed by combining the criteria below in the form:
|
|
635
|
-
// (id = id[0] or id = id[1]) and (name = name[0] or name = name[1]) etc...
|
|
636
|
-
// To combine using 'or' rather than 'and', set the `combine_terms_exclusive` flag.
|
|
637
|
-
// Also see note below regarding attributes.
|
|
638
|
-
message GetResourcesRequest {
|
|
639
|
-
repeated string id = 1;
|
|
640
|
-
|
|
641
|
-
// Wildcards permitted.
|
|
642
|
-
repeated string name = 2;
|
|
643
|
-
|
|
644
|
-
// Wildcards permitted.
|
|
645
|
-
repeated string description = 3;
|
|
646
|
-
|
|
647
|
-
// Wildcards permitted.
|
|
648
|
-
repeated string kind = 4;
|
|
649
|
-
|
|
650
|
-
repeated string parent_id = 5;
|
|
651
|
-
|
|
652
|
-
// Wildcards permitted.
|
|
653
|
-
repeated string service_api = 6;
|
|
654
|
-
|
|
655
|
-
repeated string owner = 7;
|
|
656
|
-
|
|
657
|
-
repeated string store = 8;
|
|
658
|
-
|
|
659
|
-
// Indicates that the above terms should be combined using 'or' rather than 'and' (the default).
|
|
660
|
-
bool combine_terms_exclusive = 9;
|
|
661
|
-
|
|
662
|
-
// Attributes to search by.
|
|
663
|
-
repeated ResourceAttributeQuery attribute = 10;
|
|
664
|
-
|
|
665
|
-
// If set, will return resources where *any of* the attribute queries apply, otherwise will only return resources where *all of* the attribute queries apply.
|
|
666
|
-
bool any_of = 11;
|
|
667
|
-
|
|
668
|
-
// Set to include the resource attributes in the response.
|
|
669
|
-
bool include_attributes = 12;
|
|
670
|
-
|
|
671
|
-
// Set to include service description protobuf in the response where applicable.
|
|
672
|
-
bool include_protobuf = 13;
|
|
673
|
-
|
|
674
|
-
// Only retrieve resources that have been modified after the given timestamp. Default is 0, which means all resources will be returned.
|
|
675
|
-
uint64 modified_since = 14;
|
|
676
|
-
|
|
677
|
-
// Limit the number of resources returned. Default is 0, which means all resources will be returned.
|
|
678
|
-
uint32 limit = 15;
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
message GetResourcesResponse {
|
|
682
|
-
// Details of any error that occurred on the call.
|
|
683
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
684
|
-
|
|
685
|
-
// The list of resources that match the lookup.
|
|
686
|
-
repeated Resource resource = 2;
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
message GetResourceAncestorsRequest {
|
|
690
|
-
// The resource id whose ancestors will be retrieved.
|
|
691
|
-
string resource_id = 1;
|
|
692
|
-
|
|
693
|
-
// Optional - if set the resource_id resource will be included in the set of resources returned.
|
|
694
|
-
bool include_resource_id = 2;
|
|
695
|
-
|
|
696
|
-
// Optional - restrict the depth search, e.g. for immediate parents depth = 1
|
|
697
|
-
int32 depth = 3;
|
|
698
|
-
|
|
699
|
-
// Optional - only match ancestors of the given kind.
|
|
700
|
-
string ancestor_kind = 4;
|
|
701
|
-
|
|
702
|
-
// Optional - can be used to determine if a resource is an ancestor.
|
|
703
|
-
string ancestor_id = 5;
|
|
704
|
-
|
|
705
|
-
// Set to include the service attributes in the response.
|
|
706
|
-
bool include_attributes = 6;
|
|
707
|
-
|
|
708
|
-
// Set to include the service protobuf in the response.
|
|
709
|
-
bool include_protobuf = 7;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
message GetResourceAncestorsResponse {
|
|
713
|
-
// Details of any error that occurred on the call.
|
|
714
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
715
|
-
|
|
716
|
-
// The retrieved ancestors.
|
|
717
|
-
repeated Resource ancestor = 2;
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
message GetResourceDescendantsRequest {
|
|
721
|
-
// The resource id whose descendants will be retrieved.
|
|
722
|
-
string resource_id = 1;
|
|
723
|
-
|
|
724
|
-
// Optional - if set, the fully populated `resource_id` resource (i.e. the parent) will be included in the set of resources returned.
|
|
725
|
-
bool include_resource_id = 2;
|
|
726
|
-
|
|
727
|
-
// Optional - restrict the depth search, e.g. for immediate children depth = 1
|
|
728
|
-
int32 depth = 3;
|
|
729
|
-
|
|
730
|
-
// Optional - only match descendants of the given kind.
|
|
731
|
-
// If multiple kinds are given, resources matching **any of** the kinds will be included.
|
|
732
|
-
repeated string descendant_kind = 4;
|
|
733
|
-
|
|
734
|
-
// Optional - can be used to determine if a resource is a descendant.
|
|
735
|
-
string descendant_id = 5;
|
|
736
|
-
|
|
737
|
-
// Optional - restrict to descendants of a given parent, for use in multi-parent hierarchies.
|
|
738
|
-
string parent_id = 6;
|
|
739
|
-
|
|
740
|
-
// Restrict to a specific named resource.
|
|
741
|
-
string name = 7;
|
|
742
|
-
|
|
743
|
-
// Only retrieve resources that have been modified after the given timestamp. Default is 0, which means all resources will be returned.
|
|
744
|
-
uint64 modified_since = 8;
|
|
745
|
-
|
|
746
|
-
// Set to include the service attributes in the response.
|
|
747
|
-
bool include_attributes = 9;
|
|
748
|
-
|
|
749
|
-
// Set to include the service protobuf in the response.
|
|
750
|
-
bool include_protobuf = 10;
|
|
751
|
-
}
|
|
752
|
-
|
|
753
|
-
message GetResourceDescendantsResponse {
|
|
754
|
-
// Details of any error that occurred on the call.
|
|
755
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
756
|
-
|
|
757
|
-
// The retrieved descendants.
|
|
758
|
-
repeated Resource descendant = 2;
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
message GetSessionsRequest {
|
|
762
|
-
string id = 1;
|
|
763
|
-
|
|
764
|
-
string identity_did = 2;
|
|
765
|
-
|
|
766
|
-
string identity_name = 3;
|
|
767
|
-
|
|
768
|
-
SessionStatus status = 4;
|
|
769
|
-
}
|
|
770
|
-
|
|
771
|
-
message GetSessionsResponse {
|
|
772
|
-
// Details of any error that occurred on the call.
|
|
773
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
774
|
-
|
|
775
|
-
repeated Session session = 2;
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
message InvokeRequestKeyExchange {
|
|
779
|
-
bytes nonce = 1;
|
|
780
|
-
|
|
781
|
-
bytes encryption_key = 2;
|
|
782
|
-
|
|
783
|
-
bytes signature = 3;
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
message InvokeRequest {
|
|
787
|
-
// Client-assigned identifier for the request. Will be used to match responses and any subsequent requests.
|
|
788
|
-
uint64 invoke_id = 1;
|
|
789
|
-
|
|
790
|
-
// Optional client token to use for the invocation. This is for use by the websocket proxy and is only necessary on the first request of the rpc.
|
|
791
|
-
string token = 2;
|
|
792
|
-
|
|
793
|
-
// The DID of the target at each hop of the path to the service.
|
|
794
|
-
// This is used by Relays to route the request.
|
|
795
|
-
repeated string target_did = 4;
|
|
796
|
-
|
|
797
|
-
// The initialisation vector for the request payload encryption. This should be a random 16 byte value, that is different for each request.
|
|
798
|
-
bytes iv = 5;
|
|
799
|
-
|
|
800
|
-
// One of the following payloads will be present in a given InvokeRequest message.
|
|
801
|
-
oneof request_payload {
|
|
802
|
-
// A serialised and encrypted instance of `RemoteResponse` in pure binary format.
|
|
803
|
-
bytes payload = 6;
|
|
804
|
-
|
|
805
|
-
// A serialised and encrypted instance of `RemoteResponse` as serialised JSON.
|
|
806
|
-
bytes json_payload = 7;
|
|
807
|
-
}
|
|
808
|
-
|
|
809
|
-
// Indicates the client has ended the invocation.
|
|
810
|
-
bool client_end = 8;
|
|
811
|
-
|
|
812
|
-
// Reserved for internal use.
|
|
813
|
-
uint32 hop_index = 9;
|
|
814
|
-
|
|
815
|
-
// Reserved for internal use.
|
|
816
|
-
string target_service_id = 10;
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
message InvokeResponse {
|
|
820
|
-
// The invocation id to match the originating request.
|
|
821
|
-
uint64 invoke_id = 1;
|
|
822
|
-
|
|
823
|
-
InvokeRequestKeyExchange key_exchange = 2;
|
|
824
|
-
|
|
825
|
-
// The initialisation vector for the response payload encryption. This will be a random 16 byte value, that is different for each response.
|
|
826
|
-
bytes iv = 4;
|
|
827
|
-
|
|
828
|
-
// One of the following payloads will be present in a given InvokeResponse message.
|
|
829
|
-
oneof response_payload {
|
|
830
|
-
// A serialised and encrypted instance of `RemoteRequest` in pure binary format.
|
|
831
|
-
bytes payload = 5;
|
|
832
|
-
|
|
833
|
-
// A serialised and encrypted instance of `RemoteRequest` as serialised JSON.
|
|
834
|
-
bytes json_payload = 6;
|
|
835
|
-
|
|
836
|
-
// Details of any error that occurred on the call.
|
|
837
|
-
tdx.volt_api.volt.v1.Status status = 7;
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
// Indicates the server has ended the invocation.
|
|
841
|
-
bool server_end = 8;
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
message MoveResourceRequest {
|
|
845
|
-
// The id of the resource to move.
|
|
846
|
-
string resource_id = 1;
|
|
847
|
-
|
|
848
|
-
// The resource the parent folder to move the resource from.
|
|
849
|
-
string from_resource_id = 2;
|
|
850
|
-
|
|
851
|
-
// The target folder to move the resource into.
|
|
852
|
-
string to_resource_id = 3;
|
|
853
|
-
}
|
|
854
|
-
|
|
855
|
-
message MoveResourceResponse {
|
|
856
|
-
// Details of any error that occurred on the call.
|
|
857
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
message RequestAccessRequest {
|
|
861
|
-
// The target resource id.
|
|
862
|
-
string resource_id = 1;
|
|
863
|
-
|
|
864
|
-
// The type of access requested.
|
|
865
|
-
string access = 3;
|
|
866
|
-
}
|
|
867
|
-
|
|
868
|
-
message RequestAccessResponse {
|
|
869
|
-
// Details of any error that occurred on the call.
|
|
870
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
871
|
-
|
|
872
|
-
// The resource being accessed.
|
|
873
|
-
string resource_id = 2;
|
|
874
|
-
|
|
875
|
-
// The identity attempting access.
|
|
876
|
-
string identity_did = 3;
|
|
877
|
-
|
|
878
|
-
// Requested access.
|
|
879
|
-
string access = 5;
|
|
880
|
-
|
|
881
|
-
// Assigned decision.
|
|
882
|
-
PolicyDecision decision = 6;
|
|
883
|
-
|
|
884
|
-
// Time at which the request was made.
|
|
885
|
-
int64 request_time = 7;
|
|
886
|
-
|
|
887
|
-
// Time at which the decision was taken.
|
|
888
|
-
int64 decision_time = 8;
|
|
889
|
-
|
|
890
|
-
// Counter of number times this access was requested.
|
|
891
|
-
int32 request_count = 9;
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
message ResourceAttributeQuery {
|
|
895
|
-
string attribute_id = 1;
|
|
896
|
-
AttributeDataType data_type = 2;
|
|
897
|
-
AttributeValue value = 3;
|
|
898
|
-
}
|
|
899
|
-
|
|
900
|
-
message SaveAccessRequest {
|
|
901
|
-
// Omit `id` if creating new access.
|
|
902
|
-
Access access = 1;
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
message SaveAccessResponse {
|
|
906
|
-
// Details of any error that occurred on the call.
|
|
907
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
908
|
-
}
|
|
909
|
-
|
|
910
|
-
message SaveIdentityRequest {
|
|
911
|
-
// Details of the identity to save.
|
|
912
|
-
Identity identity = 1;
|
|
913
|
-
|
|
914
|
-
// Set to indicate this is a new identity.
|
|
915
|
-
bool create = 2;
|
|
916
|
-
|
|
917
|
-
// The list of aliases that should be removed.
|
|
918
|
-
// For example, this allows a simple form of key rotation whereby an existing public key alias is replaced by a new one while still maintaining the same root identity id.
|
|
919
|
-
repeated IdentityAlias delete_alias = 3;
|
|
920
|
-
|
|
921
|
-
// Reserved for system use.
|
|
922
|
-
string create_in_parent_id = 4;
|
|
923
|
-
|
|
924
|
-
// Set to indicate the identity aliases should be purged before saving the identity.
|
|
925
|
-
// If the `identity` field contains aliases they will be saved after the purge.
|
|
926
|
-
// If the `identity` field does not contain aliases this effectively deletes all aliases for this identity.
|
|
927
|
-
// This allows you to selectively update aliases if required, i.e. don't set this flag and include a single alias in the update.
|
|
928
|
-
bool purge_aliases = 5;
|
|
929
|
-
|
|
930
|
-
string did_document = 6;
|
|
931
|
-
|
|
932
|
-
// The signature of the identity did document, if present.
|
|
933
|
-
string did_update_signature = 7;
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
message SaveIdentityResponse {
|
|
937
|
-
// Details of any error that occurred on the call.
|
|
938
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
939
|
-
|
|
940
|
-
// The updated identity details.
|
|
941
|
-
Identity identity = 2;
|
|
942
|
-
}
|
|
943
|
-
|
|
944
|
-
message SaveParametersRequest {
|
|
945
|
-
// The updated parameters.
|
|
946
|
-
VoltParameters parameters = 1;
|
|
947
|
-
|
|
948
|
-
// The current root key passphrase. Only necessary if changes are being made to the Volt key.
|
|
949
|
-
string key_passphrase = 2;
|
|
950
|
-
|
|
951
|
-
// The new root key passphrase. Only necessary if changes are being made to the Volt key.
|
|
952
|
-
string new_key_passphrase = 3;
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
message SaveParametersResponse {
|
|
956
|
-
// Details of any errors that occurred on the call.
|
|
957
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
958
|
-
|
|
959
|
-
// The updated Volt parameters.
|
|
960
|
-
VoltParameters parameters = 2;
|
|
961
|
-
|
|
962
|
-
// If set, the client will need to reconnect (usually because the key has changed).
|
|
963
|
-
bool reconnect = 3;
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
message SaveResourceRequest {
|
|
967
|
-
// Details of the resource to save.
|
|
968
|
-
Resource resource = 1;
|
|
969
|
-
|
|
970
|
-
// Set to indicate this is a new resource.
|
|
971
|
-
bool create = 2;
|
|
972
|
-
|
|
973
|
-
// The id of the folder resource in which a new resource should be created.
|
|
974
|
-
// If omitted, the home folder of the currently authenticated identity will be used.
|
|
975
|
-
string create_in_parent_id = 3;
|
|
976
|
-
|
|
977
|
-
// Set to indicate the resource attributes should be purged before saving the resource.
|
|
978
|
-
// If the `resource` field contains attributes they will be saved after the purge.
|
|
979
|
-
// If the `resource` field does not contain attributes this effectively deletes all attributes for this resource.
|
|
980
|
-
// This allows you to selectively update attributes if required, i.e. don't set this flag and include a single attribute in the update.
|
|
981
|
-
bool purge_attributes = 4;
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
message SaveResourceResponse {
|
|
985
|
-
// Details of any error that occurred on the call.
|
|
986
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
987
|
-
|
|
988
|
-
// The updated resource.
|
|
989
|
-
Resource resource = 2;
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
message SaveSessionRequest {
|
|
993
|
-
Session session = 1;
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
message SaveSessionResponse {
|
|
997
|
-
// Details of any error that occurred on the call.
|
|
998
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
999
|
-
|
|
1000
|
-
Session session = 2;
|
|
1001
|
-
}
|
|
1002
|
-
|
|
1003
|
-
message SetPolicyRequest {
|
|
1004
|
-
string custom_policy = 1;
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
message SetPolicyResponse {
|
|
1008
|
-
// Details of any error that occurred on the call.
|
|
1009
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
|
-
message SetServiceStatusRequest {
|
|
1013
|
-
// The service description details.
|
|
1014
|
-
Resource service = 2;
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
message SetServiceStatusResponse {
|
|
1018
|
-
// Details of any error that occurred on the call.
|
|
1019
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
1020
|
-
|
|
1021
|
-
// The updated service resource details.
|
|
1022
|
-
Resource resource = 2;
|
|
1023
|
-
}
|
|
1024
|
-
|
|
1025
|
-
message SetAccessRequestDecisionRequest {
|
|
1026
|
-
// The id of the access request.
|
|
1027
|
-
string id = 1;
|
|
1028
|
-
|
|
1029
|
-
// The decision to save against the access request.
|
|
1030
|
-
PolicyDecision decision = 2;
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
message SetAccessRequestDecisionResponse {
|
|
1034
|
-
// Details of any error that occurred on the call.
|
|
1035
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
1036
|
-
}
|
|
1037
|
-
|
|
1038
|
-
// This message is emtpy.
|
|
1039
|
-
message ShutdownRequest {
|
|
1040
|
-
}
|
|
1041
|
-
|
|
1042
|
-
message ShutdownResponse {
|
|
1043
|
-
// Details of any error that occurred on the call.
|
|
1044
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
message SignVerifyRequest {
|
|
1048
|
-
// Set to indicate this is a request to verify rather than sign.
|
|
1049
|
-
bool verify = 1;
|
|
1050
|
-
|
|
1051
|
-
// Set to indicate the signature should be base64 encoded in the response.
|
|
1052
|
-
// Only valid when signing.
|
|
1053
|
-
bool encode = 2;
|
|
1054
|
-
|
|
1055
|
-
// The message to sign.
|
|
1056
|
-
// Only valid when signing.
|
|
1057
|
-
string message = 3;
|
|
1058
|
-
|
|
1059
|
-
oneof digest {
|
|
1060
|
-
// The digest in raw binary form.
|
|
1061
|
-
// Only valid if verifying.
|
|
1062
|
-
bytes digest_raw = 4;
|
|
1063
|
-
|
|
1064
|
-
// The digest encoded using base64.
|
|
1065
|
-
// Only valid if verifying.
|
|
1066
|
-
string digest_encoded = 5;
|
|
1067
|
-
}
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
|
-
// Note that if verification was successful the response will be empty (there is no error and no digest is returned).
|
|
1071
|
-
message SignVerifyResponse {
|
|
1072
|
-
// Details of any error that occurred on the call.
|
|
1073
|
-
tdx.volt_api.volt.v1.Status status = 1;
|
|
1074
|
-
|
|
1075
|
-
oneof payload {
|
|
1076
|
-
// The signature in raw binary form.
|
|
1077
|
-
bytes digest = 2;
|
|
1078
|
-
|
|
1079
|
-
// The signature encoded using base64.
|
|
1080
|
-
string digest_encoded = 3;
|
|
1081
|
-
}
|
|
1082
|
-
}
|