// Copyright 2022 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.builder_oracle;

message InputProperties {
  // Remote manifest repository.
  string remote = 1;

  // Luci directories to find the configuration changes in.
  // The key is the name to save the directory as, the value is the relative
  // path to the directory.
  map<string, string> luci_config_directories = 2;
}
