// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This file defines protobufs needed for handling Monorail secrets.

syntax = "proto3";

package monorail.secrets;


// Next available tag: 7
message ListRequestContents {
  // The parent resource of the requested resources.
  string parent = 1;
  // The requested page size for listing the resources.
  int32 page_size = 2;
  // The requested sort order of the list of resources.
  string order_by = 3;
  // The query that may be used to filter which resources to show.
  string query = 4;
  // The resource names of projects to query within.
  repeated string projects = 5;
  // The string that may be used to filter which resources to show.
  // See AIP-160.
  string filter = 6;
}


// Next available tag: 3
message PageTokenContents {
  // The index of where the requested resource list should start.
  int32 start = 1;
  // An encrypted ListRequestContents message.
  bytes encrypted_list_request_contents = 2;
}
