// 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.docs_roller;

message InputProperties {
  // Jiri manifest to use.
  string manifest = 1;

  // Remote manifest repository.
  string remote = 2;

  // Mapping from target arch to fint parameter file path.
  map<string, string> fint_params_paths = 3;
}
