// Copyright 2016 The Chromium Authors
// 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;
}
