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; } }