blob: 0224c954fd7f96ed264df6178b38906e4cd1c710 [file] [edit]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package turboci.graph.ids.v1;
option go_package = "go.chromium.org/turboci/proto/go/graph/ids/v1;idspb";
option java_multiple_files = true;
// IdentifierKind enumerates the different kinds of Identifiers, and is used to
// annotate fields containing Edges to indicate which kinds of nodes are
// allowed.
//
// This should be kept in sync with the `type` oneof in Identifier.
enum IdentifierKind {
// Default value.
IDENTIFIER_KIND_UNKNOWN = 0;
// Identifies an entire TurboCI WorkPlan.
IDENTIFIER_KIND_WORK_PLAN = 1;
// Identifies a Check within a WorkPlan.
IDENTIFIER_KIND_CHECK = 2;
reserved "IDENTIFIER_KIND_CHECK_OPTION";
reserved 3;
// Identifies a Check Result within a WorkPlan.
IDENTIFIER_KIND_CHECK_RESULT = 4;
reserved "IDENTIFIER_KIND_CHECK_RESULT_DATUM";
reserved 5;
// Identifies a Check Edit within a WorkPlan.
IDENTIFIER_KIND_CHECK_EDIT = 6;
reserved "IDENTIFIER_KIND_CHECK_EDIT_OPTION";
reserved 7;
// Identifies a Stage within a WorkPlan.
IDENTIFIER_KIND_STAGE = 8;
// Identifies a Stage Attempt within a Stage.
IDENTIFIER_KIND_STAGE_ATTEMPT = 9;
// Identifies a Stage Edit within a WorkPlan.
IDENTIFIER_KIND_STAGE_EDIT = 10;
}