blob: 9c6fe3ae6d2ede7da2cae7f7b7d75a1d5b32fffb [file] [log] [blame]
// Copyright 2020 The LUCI Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package cv.internal.prjmanager.prjpb;
option go_package = "go.chromium.org/luci/cv/internal/prjmanager/prjpb;prjpb";
import "google/protobuf/timestamp.proto";
import "go.chromium.org/luci/cv/internal/prjmanager/prjpb/storage.proto";
// ManageProjectTask sends a signal to ProjectManager to process events.
//
// Always used with de-duplication and thus can't be created from a transaction.
//
// Queue: "manage-project".
message ManageProjectTask {
string luci_project = 1;
google.protobuf.Timestamp eta = 2;
}
// KickManageProjectTask starts a task to actually enqueue ManageProjectTask.
//
// It exists in order to send a deduplicatable ManageProjectTask from a
// transaction.
//
// Queue: "kick-manage-project".
message KickManageProjectTask {
string luci_project = 1;
google.protobuf.Timestamp eta = 2;
}
// PurgeCLTask starts a task to purge a CL.
//
// Queue: "purge-project-cl".
message PurgeCLTask {
// Next tag: 8
reserved 3; // trigger -> purge_reason.triggers
reserved 5; // reason -> purge_reasons
string luci_project = 1;
PurgingCL purging_cl = 2;
repeated PurgeReason purge_reasons = 7;
// Applicable config groups of this CL within the given LUCI Project.
repeated string config_groups = 6;
}