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

syntax = "proto3";

package recipes.fuchsia.luci_config;

message InputProperties {
  // Remote repository containing the LUCI config files to validate.
  string remote = 1;

  // Starlark file paths to validate.
  repeated string starlark_paths = 2;

  // CIPD ensure file containing the pinned lucicfg tool version, relative to
  // the root of the remote repository.
  string lucicfg_ensure_file = 3;

  // Relative directory within the checkout containing generated files for all
  // projects.
  string generated_dir = 4;
}
