Define archive control v1 protocol
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package archive_control.v1;
|
||||
|
||||
import "archive_control/v1/common.proto";
|
||||
import "archive_control/v1/resource.proto";
|
||||
|
||||
enum InventoryScope {
|
||||
INVENTORY_SCOPE_UNSPECIFIED = 0;
|
||||
INVENTORY_SCOPE_RESOURCE_SUMMARIES = 1;
|
||||
INVENTORY_SCOPE_RESOURCE_LOOKUP = 2;
|
||||
INVENTORY_SCOPE_CONTENT_TREE = 3;
|
||||
INVENTORY_SCOPE_PLACEMENTS = 4;
|
||||
}
|
||||
|
||||
message InventoryQuery {
|
||||
string query_id = 1;
|
||||
InventoryScope scope = 2;
|
||||
repeated ResourceId resource_ids = 3;
|
||||
PageRequest page = 4;
|
||||
string page_filter = 5;
|
||||
bool selected_complete_only = 6;
|
||||
string expected_revision = 7;
|
||||
}
|
||||
|
||||
message ResourceSummaryChunk {
|
||||
repeated ResourceSummary resources = 1;
|
||||
}
|
||||
|
||||
message ContentTreeChunk {
|
||||
ResourceId resource_id = 1;
|
||||
repeated ContentTreeEntry entries = 2;
|
||||
string resource_content_revision = 3;
|
||||
}
|
||||
|
||||
message PlacementChunk {
|
||||
repeated Placement placements = 1;
|
||||
}
|
||||
|
||||
// InventoryChunk is an atomic-snapshot stream. Receivers commit results only
|
||||
// after a last_chunk=true chunk arrives for the same snapshot and revision.
|
||||
message InventoryChunk {
|
||||
string query_id = 1;
|
||||
string snapshot_id = 2;
|
||||
string revision = 3;
|
||||
uint32 chunk_index = 4;
|
||||
bool last_chunk = 5;
|
||||
string next_page_token = 6;
|
||||
Error error = 7;
|
||||
oneof payload {
|
||||
ResourceSummaryChunk resource_summaries = 10;
|
||||
ContentTreeChunk content_tree = 11;
|
||||
PlacementChunk placements = 12;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user