// 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.release.milestone_roller;

import "recipe_modules/fuchsia/auto_roller/options.proto";

message InputProperties {
  // Jiri remote manifest project.
  string project = 1;

  // Jiri manifest to use.
  string manifest = 2;

  // Remote integration manifest repository.
  string remote = 3;

  // General options for creating the roll CL.
  recipe_modules.fuchsia.auto_roller.Options roll_options = 4;

  // Path to JSON file enumerating milestone branches.
  string milestone_branches_path = 5;

  // Path to script which generates configurations.
  string config_generator_path = 6;
}
