blob: a5e63dc15518a81a8a1d8b1b4e81b8ad6a0f78b2 [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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.32.1
// source: turboci/graph/orchestrator/v1/write_nodes_request.proto
package orchestratorpb
import (
v1 "go.chromium.org/turboci/proto/go/graph/ids/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Request message for TurboCIOrchestrator.WriteNodes.
//
// Allows atomically writing to multiple nodes (Checks, Stages) in a single
// transaction.
type WriteNodesRequest struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Token *string `protobuf:"bytes,1,opt,name=token,proto3,oneof"`
xxx_hidden_Reason *WriteNodesRequest_Reason `protobuf:"bytes,2,opt,name=reason,proto3,oneof"`
xxx_hidden_Txn *TransactionDetails `protobuf:"bytes,3,opt,name=txn,proto3,oneof"`
xxx_hidden_Checks *[]*WriteNodesRequest_CheckWrite `protobuf:"bytes,4,rep,name=checks,proto3"`
xxx_hidden_Stages *[]*WriteNodesRequest_StageWrite `protobuf:"bytes,5,rep,name=stages,proto3"`
xxx_hidden_CurrentAttempt *WriteNodesRequest_CurrentAttemptWrite `protobuf:"bytes,6,opt,name=current_attempt,json=currentAttempt,proto3,oneof"`
xxx_hidden_CurrentStage *WriteNodesRequest_CurrentStageWrite `protobuf:"bytes,7,opt,name=current_stage,json=currentStage,proto3,oneof"`
xxx_hidden_StageCancellations *[]*WriteNodesRequest_StageCancellation `protobuf:"bytes,8,rep,name=stage_cancellations,json=stageCancellations,proto3"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest) Reset() {
*x = WriteNodesRequest{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest) ProtoMessage() {}
func (x *WriteNodesRequest) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest) GetToken() string {
if x != nil {
if x.xxx_hidden_Token != nil {
return *x.xxx_hidden_Token
}
return ""
}
return ""
}
func (x *WriteNodesRequest) GetReason() *WriteNodesRequest_Reason {
if x != nil {
return x.xxx_hidden_Reason
}
return nil
}
func (x *WriteNodesRequest) GetTxn() *TransactionDetails {
if x != nil {
return x.xxx_hidden_Txn
}
return nil
}
func (x *WriteNodesRequest) GetChecks() []*WriteNodesRequest_CheckWrite {
if x != nil {
if x.xxx_hidden_Checks != nil {
return *x.xxx_hidden_Checks
}
}
return nil
}
func (x *WriteNodesRequest) GetStages() []*WriteNodesRequest_StageWrite {
if x != nil {
if x.xxx_hidden_Stages != nil {
return *x.xxx_hidden_Stages
}
}
return nil
}
func (x *WriteNodesRequest) GetCurrentAttempt() *WriteNodesRequest_CurrentAttemptWrite {
if x != nil {
return x.xxx_hidden_CurrentAttempt
}
return nil
}
func (x *WriteNodesRequest) GetCurrentStage() *WriteNodesRequest_CurrentStageWrite {
if x != nil {
return x.xxx_hidden_CurrentStage
}
return nil
}
func (x *WriteNodesRequest) GetStageCancellations() []*WriteNodesRequest_StageCancellation {
if x != nil {
if x.xxx_hidden_StageCancellations != nil {
return *x.xxx_hidden_StageCancellations
}
}
return nil
}
func (x *WriteNodesRequest) SetToken(v string) {
x.xxx_hidden_Token = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 8)
}
func (x *WriteNodesRequest) SetReason(v *WriteNodesRequest_Reason) {
x.xxx_hidden_Reason = v
}
func (x *WriteNodesRequest) SetTxn(v *TransactionDetails) {
x.xxx_hidden_Txn = v
}
func (x *WriteNodesRequest) SetChecks(v []*WriteNodesRequest_CheckWrite) {
x.xxx_hidden_Checks = &v
}
func (x *WriteNodesRequest) SetStages(v []*WriteNodesRequest_StageWrite) {
x.xxx_hidden_Stages = &v
}
func (x *WriteNodesRequest) SetCurrentAttempt(v *WriteNodesRequest_CurrentAttemptWrite) {
x.xxx_hidden_CurrentAttempt = v
}
func (x *WriteNodesRequest) SetCurrentStage(v *WriteNodesRequest_CurrentStageWrite) {
x.xxx_hidden_CurrentStage = v
}
func (x *WriteNodesRequest) SetStageCancellations(v []*WriteNodesRequest_StageCancellation) {
x.xxx_hidden_StageCancellations = &v
}
func (x *WriteNodesRequest) HasToken() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}
func (x *WriteNodesRequest) HasReason() bool {
if x == nil {
return false
}
return x.xxx_hidden_Reason != nil
}
func (x *WriteNodesRequest) HasTxn() bool {
if x == nil {
return false
}
return x.xxx_hidden_Txn != nil
}
func (x *WriteNodesRequest) HasCurrentAttempt() bool {
if x == nil {
return false
}
return x.xxx_hidden_CurrentAttempt != nil
}
func (x *WriteNodesRequest) HasCurrentStage() bool {
if x == nil {
return false
}
return x.xxx_hidden_CurrentStage != nil
}
func (x *WriteNodesRequest) ClearToken() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
x.xxx_hidden_Token = nil
}
func (x *WriteNodesRequest) ClearReason() {
x.xxx_hidden_Reason = nil
}
func (x *WriteNodesRequest) ClearTxn() {
x.xxx_hidden_Txn = nil
}
func (x *WriteNodesRequest) ClearCurrentAttempt() {
x.xxx_hidden_CurrentAttempt = nil
}
func (x *WriteNodesRequest) ClearCurrentStage() {
x.xxx_hidden_CurrentStage = nil
}
type WriteNodesRequest_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// The token which constrains this write to a specific Workplan (and possibly
// to a Stage Attempt in that Workplan).
//
// A suitable token is provided to the Executor of a Stage or to the creator
// of an empty Workplan.
//
// This is in addition to regular RPC authorization.
//
// If missing, this Orchestrator will check that the caller is permitted to
// act "externally" in the work plan, see http://go/turbo-ci-acls (Googlers
// only) for details.
Token *string
// Required reason for this write.
//
// At minimum, reason.message must be supplied.
Reason *WriteNodesRequest_Reason
// Set if the caller wants to make this write transactional with a subset of
// the graph at a particular snapshot.
//
// If this is unset, then this is an 'oblivious write' and any valid writes
// will apply/overwrite the current database state, assuming they are
// semantically valid (i.e. it will still not be possible to change a Check's
// realm, or roll a Check's state backwards, etc.).
//
// There are common cases where this will be left unset, for example when a
// Stage Attempt updates its own progress based on its own internal state, or
// when a Stage Attempt records results for a Check off of some internal
// computation. It's allowed for a Stage Attempt to tie this progress update
// to the state of the graph, but it's not expected or required.
Txn *TransactionDetails
// Write to zero or more Checks.
Checks []*WriteNodesRequest_CheckWrite
// Write to zero or more Stages.
Stages []*WriteNodesRequest_StageWrite
// State for the current Stage Attempt as indicated by `token`.
//
// It is invalid to set this without also setting `token`.
//
// A WriteNodes call with `current_attempt` set (even when it is empty) acts
// as a heartbeat for the current Stage Attempt indicated by the token. If
// you need to implement the 'simplest heartbeat', you can make a WriteNodes
// call with just the token and an empty `current_attempt {}`.
//
// WriteNodes calls that don't have `current_attempt` set do not affect the
// heartbeat timer. This makes such calls less likely to hit transaction
// collisions (since they don't try to concurrently modify the heartbeat
// timer). This may be useful if you want to make concurrent WriteNodes calls
// from the same Stage Attempt, or even closely-sequential WriteNodes calls
// (to non-overlapping portions of the graph) from the same Stage Attempt.
//
// All else being equal, it's better to do fewer, larger, WriteNodes calls
// than many small WriteNodes calls.
CurrentAttempt *WriteNodesRequest_CurrentAttemptWrite
// State for the current Stage as indicated by `token`.
//
// It is invalid to set this without also setting `token`.
//
// This does not impact the heartbeat timer for the current attempt.
CurrentStage *WriteNodesRequest_CurrentStageWrite
// A list of Stages to cancel.
StageCancellations []*WriteNodesRequest_StageCancellation
}
func (b0 WriteNodesRequest_builder) Build() *WriteNodesRequest {
m0 := &WriteNodesRequest{}
b, x := &b0, m0
_, _ = b, x
if b.Token != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 8)
x.xxx_hidden_Token = b.Token
}
x.xxx_hidden_Reason = b.Reason
x.xxx_hidden_Txn = b.Txn
x.xxx_hidden_Checks = &b.Checks
x.xxx_hidden_Stages = &b.Stages
x.xxx_hidden_CurrentAttempt = b.CurrentAttempt
x.xxx_hidden_CurrentStage = b.CurrentStage
x.xxx_hidden_StageCancellations = &b.StageCancellations
return m0
}
// An in-line representation of Dependencies.Group.
//
// The Orchestrator will deduplicate edges into Dependencies.edges in the
// Check or Stage.
//
// Otherwise this has the same meaning as Dependencies.Group.
type WriteNodesRequest_DependencyGroup struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Edges *[]*Edge `protobuf:"bytes,1,rep,name=edges,proto3"`
xxx_hidden_Groups *[]*WriteNodesRequest_DependencyGroup `protobuf:"bytes,2,rep,name=groups,proto3"`
xxx_hidden_Threshold int32 `protobuf:"varint,3,opt,name=threshold,proto3,oneof"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_DependencyGroup) Reset() {
*x = WriteNodesRequest_DependencyGroup{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_DependencyGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_DependencyGroup) ProtoMessage() {}
func (x *WriteNodesRequest_DependencyGroup) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_DependencyGroup) GetEdges() []*Edge {
if x != nil {
if x.xxx_hidden_Edges != nil {
return *x.xxx_hidden_Edges
}
}
return nil
}
func (x *WriteNodesRequest_DependencyGroup) GetGroups() []*WriteNodesRequest_DependencyGroup {
if x != nil {
if x.xxx_hidden_Groups != nil {
return *x.xxx_hidden_Groups
}
}
return nil
}
func (x *WriteNodesRequest_DependencyGroup) GetThreshold() int32 {
if x != nil {
return x.xxx_hidden_Threshold
}
return 0
}
func (x *WriteNodesRequest_DependencyGroup) SetEdges(v []*Edge) {
x.xxx_hidden_Edges = &v
}
func (x *WriteNodesRequest_DependencyGroup) SetGroups(v []*WriteNodesRequest_DependencyGroup) {
x.xxx_hidden_Groups = &v
}
func (x *WriteNodesRequest_DependencyGroup) SetThreshold(v int32) {
x.xxx_hidden_Threshold = v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
}
func (x *WriteNodesRequest_DependencyGroup) HasThreshold() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}
func (x *WriteNodesRequest_DependencyGroup) ClearThreshold() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
x.xxx_hidden_Threshold = 0
}
type WriteNodesRequest_DependencyGroup_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// Singular edges in this group.
Edges []*Edge
// Sub-groups in this group.
//
// May not contain empty groups.
Groups []*WriteNodesRequest_DependencyGroup
// Number of edges and/or groups which need to be satisfied for this
// DependencyGroup to be satisfied.
//
// See `Dependencies.Group.threshold`.
Threshold *int32
}
func (b0 WriteNodesRequest_DependencyGroup_builder) Build() *WriteNodesRequest_DependencyGroup {
m0 := &WriteNodesRequest_DependencyGroup{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_Edges = &b.Edges
x.xxx_hidden_Groups = &b.Groups
if b.Threshold != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
x.xxx_hidden_Threshold = *b.Threshold
}
return m0
}
// A single Stage.Attempt.Progress write message.
type WriteNodesRequest_StageAttemptProgress struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Message *string `protobuf:"bytes,1,opt,name=message,proto3,oneof"`
xxx_hidden_Details *[]*ValueWrite `protobuf:"bytes,2,rep,name=details,proto3"`
xxx_hidden_IdempotencyKey *string `protobuf:"bytes,3,opt,name=idempotency_key,json=idempotencyKey,proto3,oneof"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_StageAttemptProgress) Reset() {
*x = WriteNodesRequest_StageAttemptProgress{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_StageAttemptProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_StageAttemptProgress) ProtoMessage() {}
func (x *WriteNodesRequest_StageAttemptProgress) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_StageAttemptProgress) GetMessage() string {
if x != nil {
if x.xxx_hidden_Message != nil {
return *x.xxx_hidden_Message
}
return ""
}
return ""
}
func (x *WriteNodesRequest_StageAttemptProgress) GetDetails() []*ValueWrite {
if x != nil {
if x.xxx_hidden_Details != nil {
return *x.xxx_hidden_Details
}
}
return nil
}
func (x *WriteNodesRequest_StageAttemptProgress) GetIdempotencyKey() string {
if x != nil {
if x.xxx_hidden_IdempotencyKey != nil {
return *x.xxx_hidden_IdempotencyKey
}
return ""
}
return ""
}
func (x *WriteNodesRequest_StageAttemptProgress) SetMessage(v string) {
x.xxx_hidden_Message = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
}
func (x *WriteNodesRequest_StageAttemptProgress) SetDetails(v []*ValueWrite) {
x.xxx_hidden_Details = &v
}
func (x *WriteNodesRequest_StageAttemptProgress) SetIdempotencyKey(v string) {
x.xxx_hidden_IdempotencyKey = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
}
func (x *WriteNodesRequest_StageAttemptProgress) HasMessage() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}
func (x *WriteNodesRequest_StageAttemptProgress) HasIdempotencyKey() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}
func (x *WriteNodesRequest_StageAttemptProgress) ClearMessage() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
x.xxx_hidden_Message = nil
}
func (x *WriteNodesRequest_StageAttemptProgress) ClearIdempotencyKey() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
x.xxx_hidden_IdempotencyKey = nil
}
type WriteNodesRequest_StageAttemptProgress_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// Low-effort/human-readable progress information.
//
// Better than nothing, but not good for machines to parse.
Message *string
// Machine-readable details for this progress item.
Details []*ValueWrite
// An optional field for preventing duplicate progress messages.
//
// If you don't care about duplicate progress messages on retried RPCs, you
// can ignore this field.
//
// Otherwise, if set, this field must be unique per progress message, per
// Stage Attempt.
//
// Writing multiple progress messages with the same idempotency_key, but
// different `message` or `details` fields is an error.
//
// It is recommended to set this field like "<thread_id>/<unique>" where
// <thread_id> identifies a single actor within the Executor, in the
// context of the current stage attempt token, and <unique> is some unique
// value for that actor, for the Stage Attempt.
//
// Examples:
// - server/<purpose> - messages emitted by the server on behalf of a
// working bot with some specific purpose (e.g. "server/final").
// - bot/<sequence> etc. - messages emitted by the bot from a single
// process on a machine somewhere. The process keeps <sequence> as a
// simple counter in-memory.
// - <uuid> - 36 bytes of stringy goodness. Hopefully your progress
// messages are much longer than this :)
//
// This solves the problem where:
// - you do a write with a progress message (e.g. "hello"), but fail to
// get the OK response (network, cosmic rays, etc.).
// - you then retry the RPC.
//
// If the WriteNodesRequest has a TransactionDetails, the retry will fail,
// and after getting the current Stage Attempt state, you would need to
// scan through the existing Progress messages to see if the message
// "hello" is present (assuming that "hello" is actually a unique progress
// message in the first place).
//
// If the WriteNodesRequest does NOT have a TransactionDetails, the new
// message will just be appended silently, and you will end up with two
// "hello" messages.
//
// Setting the idempotency_key to a per-Attempt-unique value will prevent
// this; this Progress message will be recorded at most once on the
// Attempt, and on the retry, the orchestrator will know that this message
// was already recorded and will be able to return OK without duplicating
// it.
IdempotencyKey *string
}
func (b0 WriteNodesRequest_StageAttemptProgress_builder) Build() *WriteNodesRequest_StageAttemptProgress {
m0 := &WriteNodesRequest_StageAttemptProgress{}
b, x := &b0, m0
_, _ = b, x
if b.Message != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
x.xxx_hidden_Message = b.Message
}
x.xxx_hidden_Details = &b.Details
if b.IdempotencyKey != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
x.xxx_hidden_IdempotencyKey = b.IdempotencyKey
}
return m0
}
// The reason that the caller is performing this write.
//
// Includes a low-effort English display message plus zero or more detail
// messages.
type WriteNodesRequest_Reason struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Message *string `protobuf:"bytes,1,opt,name=message,proto3,oneof"`
xxx_hidden_Details *[]*ValueWrite `protobuf:"bytes,2,rep,name=details,proto3"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_Reason) Reset() {
*x = WriteNodesRequest_Reason{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_Reason) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_Reason) ProtoMessage() {}
func (x *WriteNodesRequest_Reason) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_Reason) GetMessage() string {
if x != nil {
if x.xxx_hidden_Message != nil {
return *x.xxx_hidden_Message
}
return ""
}
return ""
}
func (x *WriteNodesRequest_Reason) GetDetails() []*ValueWrite {
if x != nil {
if x.xxx_hidden_Details != nil {
return *x.xxx_hidden_Details
}
}
return nil
}
func (x *WriteNodesRequest_Reason) SetMessage(v string) {
x.xxx_hidden_Message = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}
func (x *WriteNodesRequest_Reason) SetDetails(v []*ValueWrite) {
x.xxx_hidden_Details = &v
}
func (x *WriteNodesRequest_Reason) HasMessage() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}
func (x *WriteNodesRequest_Reason) ClearMessage() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
x.xxx_hidden_Message = nil
}
type WriteNodesRequest_Reason_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// A 'low-effort' reason for this write.
//
// This is required, and is intended to be shown as a quick English summary
// when displaying Check and Stage Edits in debugging tools and UIs. This
// should explain in simple terms why this write is happening.
//
// This should NOT be made to be parsable/machine-readable (use
// reason_details for this).
//
// This will be reflected in the CheckEdit or StageEdit logs for all
// Checks and/or Stages affected by this write, and thus readable under ALL
// realms implied by this set of Checks and/or Stages.
Message *string
// Machine-readable reason(s) for this edit.
//
// These are optional, but are meant to be a way to communicate
// machine-readable context for this write.
//
// These must be unique by (type_url, realm), and they will be
// stably-sorted by type_url in the generated Edit messages (e.g. for pairs
// of (type_url, realm), [(a, R2), (b, R3), (a, R1)] would be sorted to
// [(a, R2), (a, R1), (b, R3)]). This order is compatible with the
// expectations of the `Find` and `Lookup` methods in
// go.chromium.org/luci/turboci/value.
//
// By convention, these should be ordered from most to least specific, so
// if a client has permission for multiple details of the same type, the
// first in this list should be a superset of the others.
Details []*ValueWrite
}
func (b0 WriteNodesRequest_Reason_builder) Build() *WriteNodesRequest_Reason {
m0 := &WriteNodesRequest_Reason{}
b, x := &b0, m0
_, _ = b, x
if b.Message != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
x.xxx_hidden_Message = b.Message
}
x.xxx_hidden_Details = &b.Details
return m0
}
// A description of modifications to make to a single Check.
//
// All fields annotated as `(turboci).creation_only = true` can be set only
// once in a sense that if a CheckWrite updates an existing check, values
// of all these fields (if they are set) must match existing check values.
//
// Next ID: 11
type WriteNodesRequest_CheckWrite struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Identifier *v1.Check `protobuf:"bytes,1,opt,name=identifier,proto3,oneof"`
xxx_hidden_Realm *string `protobuf:"bytes,2,opt,name=realm,proto3,oneof"`
xxx_hidden_Kind CheckKind `protobuf:"varint,3,opt,name=kind,proto3,enum=turboci.graph.orchestrator.v1.CheckKind,oneof"`
xxx_hidden_SubType *string `protobuf:"bytes,10,opt,name=sub_type,json=subType,proto3,oneof"`
xxx_hidden_DisplayName *string `protobuf:"bytes,9,opt,name=display_name,json=displayName,proto3,oneof"`
xxx_hidden_Options *[]*ValueWrite `protobuf:"bytes,4,rep,name=options,proto3"`
xxx_hidden_Dependencies *WriteNodesRequest_DependencyGroup `protobuf:"bytes,5,opt,name=dependencies,proto3,oneof"`
xxx_hidden_ResultData *[]*ValueWrite `protobuf:"bytes,6,rep,name=result_data,json=resultData,proto3"`
xxx_hidden_FinalizeResults bool `protobuf:"varint,7,opt,name=finalize_results,json=finalizeResults,proto3,oneof"`
xxx_hidden_State CheckState `protobuf:"varint,8,opt,name=state,proto3,enum=turboci.graph.orchestrator.v1.CheckState,oneof"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CheckWrite) Reset() {
*x = WriteNodesRequest_CheckWrite{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CheckWrite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CheckWrite) ProtoMessage() {}
func (x *WriteNodesRequest_CheckWrite) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CheckWrite) GetIdentifier() *v1.Check {
if x != nil {
return x.xxx_hidden_Identifier
}
return nil
}
func (x *WriteNodesRequest_CheckWrite) GetRealm() string {
if x != nil {
if x.xxx_hidden_Realm != nil {
return *x.xxx_hidden_Realm
}
return ""
}
return ""
}
func (x *WriteNodesRequest_CheckWrite) GetKind() CheckKind {
if x != nil {
if protoimpl.X.Present(&(x.XXX_presence[0]), 2) {
return x.xxx_hidden_Kind
}
}
return CheckKind_CHECK_KIND_UNKNOWN
}
func (x *WriteNodesRequest_CheckWrite) GetSubType() string {
if x != nil {
if x.xxx_hidden_SubType != nil {
return *x.xxx_hidden_SubType
}
return ""
}
return ""
}
func (x *WriteNodesRequest_CheckWrite) GetDisplayName() string {
if x != nil {
if x.xxx_hidden_DisplayName != nil {
return *x.xxx_hidden_DisplayName
}
return ""
}
return ""
}
func (x *WriteNodesRequest_CheckWrite) GetOptions() []*ValueWrite {
if x != nil {
if x.xxx_hidden_Options != nil {
return *x.xxx_hidden_Options
}
}
return nil
}
func (x *WriteNodesRequest_CheckWrite) GetDependencies() *WriteNodesRequest_DependencyGroup {
if x != nil {
return x.xxx_hidden_Dependencies
}
return nil
}
func (x *WriteNodesRequest_CheckWrite) GetResultData() []*ValueWrite {
if x != nil {
if x.xxx_hidden_ResultData != nil {
return *x.xxx_hidden_ResultData
}
}
return nil
}
func (x *WriteNodesRequest_CheckWrite) GetFinalizeResults() bool {
if x != nil {
return x.xxx_hidden_FinalizeResults
}
return false
}
func (x *WriteNodesRequest_CheckWrite) GetState() CheckState {
if x != nil {
if protoimpl.X.Present(&(x.XXX_presence[0]), 9) {
return x.xxx_hidden_State
}
}
return CheckState_CHECK_STATE_UNKNOWN
}
func (x *WriteNodesRequest_CheckWrite) SetIdentifier(v *v1.Check) {
x.xxx_hidden_Identifier = v
}
func (x *WriteNodesRequest_CheckWrite) SetRealm(v string) {
x.xxx_hidden_Realm = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 10)
}
func (x *WriteNodesRequest_CheckWrite) SetKind(v CheckKind) {
x.xxx_hidden_Kind = v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 10)
}
func (x *WriteNodesRequest_CheckWrite) SetSubType(v string) {
x.xxx_hidden_SubType = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 10)
}
func (x *WriteNodesRequest_CheckWrite) SetDisplayName(v string) {
x.xxx_hidden_DisplayName = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 10)
}
func (x *WriteNodesRequest_CheckWrite) SetOptions(v []*ValueWrite) {
x.xxx_hidden_Options = &v
}
func (x *WriteNodesRequest_CheckWrite) SetDependencies(v *WriteNodesRequest_DependencyGroup) {
x.xxx_hidden_Dependencies = v
}
func (x *WriteNodesRequest_CheckWrite) SetResultData(v []*ValueWrite) {
x.xxx_hidden_ResultData = &v
}
func (x *WriteNodesRequest_CheckWrite) SetFinalizeResults(v bool) {
x.xxx_hidden_FinalizeResults = v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 8, 10)
}
func (x *WriteNodesRequest_CheckWrite) SetState(v CheckState) {
x.xxx_hidden_State = v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 10)
}
func (x *WriteNodesRequest_CheckWrite) HasIdentifier() bool {
if x == nil {
return false
}
return x.xxx_hidden_Identifier != nil
}
func (x *WriteNodesRequest_CheckWrite) HasRealm() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}
func (x *WriteNodesRequest_CheckWrite) HasKind() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}
func (x *WriteNodesRequest_CheckWrite) HasSubType() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
}
func (x *WriteNodesRequest_CheckWrite) HasDisplayName() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
}
func (x *WriteNodesRequest_CheckWrite) HasDependencies() bool {
if x == nil {
return false
}
return x.xxx_hidden_Dependencies != nil
}
func (x *WriteNodesRequest_CheckWrite) HasFinalizeResults() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 8)
}
func (x *WriteNodesRequest_CheckWrite) HasState() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 9)
}
func (x *WriteNodesRequest_CheckWrite) ClearIdentifier() {
x.xxx_hidden_Identifier = nil
}
func (x *WriteNodesRequest_CheckWrite) ClearRealm() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
x.xxx_hidden_Realm = nil
}
func (x *WriteNodesRequest_CheckWrite) ClearKind() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
x.xxx_hidden_Kind = CheckKind_CHECK_KIND_UNKNOWN
}
func (x *WriteNodesRequest_CheckWrite) ClearSubType() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
x.xxx_hidden_SubType = nil
}
func (x *WriteNodesRequest_CheckWrite) ClearDisplayName() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
x.xxx_hidden_DisplayName = nil
}
func (x *WriteNodesRequest_CheckWrite) ClearDependencies() {
x.xxx_hidden_Dependencies = nil
}
func (x *WriteNodesRequest_CheckWrite) ClearFinalizeResults() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 8)
x.xxx_hidden_FinalizeResults = false
}
func (x *WriteNodesRequest_CheckWrite) ClearState() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 9)
x.xxx_hidden_State = CheckState_CHECK_STATE_UNKNOWN
}
type WriteNodesRequest_CheckWrite_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// The check to write to.
//
// The work plan in the ID can either be unset or be equal to the work plan
// the WriteNodesRequest's token is associated with. If there's no token,
// the work plan in the ID must be set.
//
// Required.
Identifier *v1.Check
// Realm to assign to this Check.
//
// If provided, must be in the absolute form "<project>:<name>" or be one
// of special values:
// - "$from_token" - see [ValueWrite] for how it works.
// - "$from_container" means "the same realm as the WorkPlan".
//
// Required when inserting a new check.
Realm *string
// Kind to assign to this check.
//
// Required when inserting a new check.
Kind *CheckKind
// An optional disambiguating sub-type of this check.
//
// Used to identify a specific, named, variant of this Check kind within
// WorkPlans belonging to the same workflow, to differentiate metrics and
// queries between Check kinds. This value should be computed by the
// workflow in some deterministic, low-cardinality, way (including leaving
// it unset).
//
// This must NOT contain high-cardinality data like change IDs, commit
// hashes, or arbitrary user-controlled data.
//
// Good examples:
//
// kind:SOURCE sub_type:"gerrit"
// kind:BUILD sub_type:"${branch_name}"
// kind:ANALYSIS sub_type:"presubmit"
// kind:ANALYSIS sub_type:"experimental"
//
// OK examples:
//
// kind:BUILD sub_type:"${branch_name}-${build_config_name}"
// # e.g. if build_config_name has only one value for a given workflow,
// # it's not needed; but if it has hundreds of values, it may be too
// # high-cardinality. But if it's only got a handful of values, this is
// # OK.
//
// BAD examples:
//
// kind:SOURCE sub_type:"changeid:123456..."
// kind:SOURCE sub_type:"git:bad...c0ffee"
// kind:BUILD sub_type:"${branch_name}-${flag1}-${flag2}-${flag3}..."
//
// Must adhere to the regex: /^[a-zA-Z0-9\(\)\-_./ ]{0,256}$/
SubType *string
// The display name of this Check.
//
// Optional. If set, overrides the existing value.
DisplayName *string
// The list of Options to write/overwrite.
//
// Must be unique on `ValueWrite.data.type_url`. Changing realms of existing
// options is not allowed.
Options []*ValueWrite
// Dependency predicate for this Check.
//
// If set, used to populate the dependencies.edges and
// dependencies.predicate fields in the target Check.
//
// To clear dependencies, set this to an empty DependencyGroup.
Dependencies *WriteNodesRequest_DependencyGroup
// Write data to a Result for this Check.
//
// The Result to write to is automatically keyed on:
// - The Stage Attempt (if `token` is provided)
// - The caller's identity (if `token` is absent)
//
// If the given keyed Result does not exist, it will be automatically
// created. Multiple calls to WriteNodes from this same Stage Attempt or
// service account will update the same Result, and the Result will be
// automatically finalized when this Stage Attempt ends (if a WriteNodes
// with `finalize_results` is not called before then).
//
// The data here will overwrite existing data of the same type in the
// selected Result for this Stage Attempt.
//
// Must be unique on `ValueWrite.data.type_url`.
ResultData []*ValueWrite
// If set, finalize the Check.Result.
//
// No more data may be written to the Result from the caller after this is
// set.
FinalizeResults *bool
// The new state of this Check.
//
// If set, must be equal to, or greater than, the current state of the
// Check.
State *CheckState
}
func (b0 WriteNodesRequest_CheckWrite_builder) Build() *WriteNodesRequest_CheckWrite {
m0 := &WriteNodesRequest_CheckWrite{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_Identifier = b.Identifier
if b.Realm != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 10)
x.xxx_hidden_Realm = b.Realm
}
if b.Kind != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 10)
x.xxx_hidden_Kind = *b.Kind
}
if b.SubType != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 10)
x.xxx_hidden_SubType = b.SubType
}
if b.DisplayName != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 10)
x.xxx_hidden_DisplayName = b.DisplayName
}
x.xxx_hidden_Options = &b.Options
x.xxx_hidden_Dependencies = b.Dependencies
x.xxx_hidden_ResultData = &b.ResultData
if b.FinalizeResults != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 8, 10)
x.xxx_hidden_FinalizeResults = *b.FinalizeResults
}
if b.State != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 10)
x.xxx_hidden_State = *b.State
}
return m0
}
// A description of modifications to make to a single Stage.
//
// Note that the `state` of a Stage is managed entirely by the Orchestrator
// itself. If you are a Stage implementation and need to manage the state of
// your own Stage Attempt, see CurrentStageWrite.
//
// There are only two sorts of writes currently allowed: inserting a new stage
// or cancelling an existing stage.
//
// All fields annotated as `(turboci).creation_only = true` can be set only
// once in a sense that if a StageWrite overwrites an existing stage, values
// of all these fields (if they are set) must match existing stage values.
type WriteNodesRequest_StageWrite struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Identifier *v1.Stage `protobuf:"bytes,1,opt,name=identifier,proto3,oneof"`
xxx_hidden_Args *ValueWrite `protobuf:"bytes,2,opt,name=args,proto3,oneof"`
xxx_hidden_Realm *string `protobuf:"bytes,3,opt,name=realm,proto3,oneof"`
xxx_hidden_DisplayName *string `protobuf:"bytes,8,opt,name=display_name,json=displayName,proto3,oneof"`
xxx_hidden_Dependencies *WriteNodesRequest_DependencyGroup `protobuf:"bytes,4,opt,name=dependencies,proto3,oneof"`
xxx_hidden_RequestedStageExecutionPolicy *StageExecutionPolicy `protobuf:"bytes,5,opt,name=requested_stage_execution_policy,json=requestedStageExecutionPolicy,proto3,oneof"`
xxx_hidden_Assignments *[]*Stage_Assignment `protobuf:"bytes,6,rep,name=assignments,proto3"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_StageWrite) Reset() {
*x = WriteNodesRequest_StageWrite{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_StageWrite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_StageWrite) ProtoMessage() {}
func (x *WriteNodesRequest_StageWrite) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_StageWrite) GetIdentifier() *v1.Stage {
if x != nil {
return x.xxx_hidden_Identifier
}
return nil
}
func (x *WriteNodesRequest_StageWrite) GetArgs() *ValueWrite {
if x != nil {
return x.xxx_hidden_Args
}
return nil
}
func (x *WriteNodesRequest_StageWrite) GetRealm() string {
if x != nil {
if x.xxx_hidden_Realm != nil {
return *x.xxx_hidden_Realm
}
return ""
}
return ""
}
func (x *WriteNodesRequest_StageWrite) GetDisplayName() string {
if x != nil {
if x.xxx_hidden_DisplayName != nil {
return *x.xxx_hidden_DisplayName
}
return ""
}
return ""
}
func (x *WriteNodesRequest_StageWrite) GetDependencies() *WriteNodesRequest_DependencyGroup {
if x != nil {
return x.xxx_hidden_Dependencies
}
return nil
}
func (x *WriteNodesRequest_StageWrite) GetRequestedStageExecutionPolicy() *StageExecutionPolicy {
if x != nil {
return x.xxx_hidden_RequestedStageExecutionPolicy
}
return nil
}
func (x *WriteNodesRequest_StageWrite) GetAssignments() []*Stage_Assignment {
if x != nil {
if x.xxx_hidden_Assignments != nil {
return *x.xxx_hidden_Assignments
}
}
return nil
}
func (x *WriteNodesRequest_StageWrite) SetIdentifier(v *v1.Stage) {
x.xxx_hidden_Identifier = v
}
func (x *WriteNodesRequest_StageWrite) SetArgs(v *ValueWrite) {
x.xxx_hidden_Args = v
}
func (x *WriteNodesRequest_StageWrite) SetRealm(v string) {
x.xxx_hidden_Realm = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 7)
}
func (x *WriteNodesRequest_StageWrite) SetDisplayName(v string) {
x.xxx_hidden_DisplayName = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 7)
}
func (x *WriteNodesRequest_StageWrite) SetDependencies(v *WriteNodesRequest_DependencyGroup) {
x.xxx_hidden_Dependencies = v
}
func (x *WriteNodesRequest_StageWrite) SetRequestedStageExecutionPolicy(v *StageExecutionPolicy) {
x.xxx_hidden_RequestedStageExecutionPolicy = v
}
func (x *WriteNodesRequest_StageWrite) SetAssignments(v []*Stage_Assignment) {
x.xxx_hidden_Assignments = &v
}
func (x *WriteNodesRequest_StageWrite) HasIdentifier() bool {
if x == nil {
return false
}
return x.xxx_hidden_Identifier != nil
}
func (x *WriteNodesRequest_StageWrite) HasArgs() bool {
if x == nil {
return false
}
return x.xxx_hidden_Args != nil
}
func (x *WriteNodesRequest_StageWrite) HasRealm() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}
func (x *WriteNodesRequest_StageWrite) HasDisplayName() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
}
func (x *WriteNodesRequest_StageWrite) HasDependencies() bool {
if x == nil {
return false
}
return x.xxx_hidden_Dependencies != nil
}
func (x *WriteNodesRequest_StageWrite) HasRequestedStageExecutionPolicy() bool {
if x == nil {
return false
}
return x.xxx_hidden_RequestedStageExecutionPolicy != nil
}
func (x *WriteNodesRequest_StageWrite) ClearIdentifier() {
x.xxx_hidden_Identifier = nil
}
func (x *WriteNodesRequest_StageWrite) ClearArgs() {
x.xxx_hidden_Args = nil
}
func (x *WriteNodesRequest_StageWrite) ClearRealm() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
x.xxx_hidden_Realm = nil
}
func (x *WriteNodesRequest_StageWrite) ClearDisplayName() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
x.xxx_hidden_DisplayName = nil
}
func (x *WriteNodesRequest_StageWrite) ClearDependencies() {
x.xxx_hidden_Dependencies = nil
}
func (x *WriteNodesRequest_StageWrite) ClearRequestedStageExecutionPolicy() {
x.xxx_hidden_RequestedStageExecutionPolicy = nil
}
type WriteNodesRequest_StageWrite_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// The stage to write to.
//
// The work plan in the ID can either be unset or be equal to the work plan
// the WriteNodesRequest's token is associated with. If there's no token,
// the work plan in the ID must be set.
//
// When inserting a new stage, if `identifier.is_worknode` is true, `args`
// must be type.googleapis.com/wireless.android.launchcontrol.WorkNodeStage
// (only vice versa: if a WorkNodeStage is given as `args, the ID must be
// `is_worknode`). Such writes can be used to insert legacy work nodes using
// Turbo CI APIs. IDs for such stages must be preallocated via
// AllocateWorkNodeIDs RPC.
//
// Required.
Identifier *v1.Stage
// The arguments of the Stage when inserting a new stage.
//
// Required when inserting a new stage. The realm must match `realm` (or
// be "$from_container", which will make it match the stage realm).
Args *ValueWrite
// Realm to assign to this Stage when inserting it.
//
// If provided, must be in the absolute form "<project>:<name>" or be one
// of special values:
// - "$from_token" - see [ValueWrite] for how it works.
// - "$from_container" means "the same realm as the WorkPlan".
// - "$legacy_worknode" means to use legacy WorkPlan API ACLs. Can only be
// used if `identifier.is_worknode` is true.
//
// When inserting a new stage defaults to:
// - "$from_token" if `identifier.is_worknode` is false.
// - "$legacy_worknode" if `identifier.is_worknode` is true.
Realm *string
// The display name of this Stage.
//
// Optional.
DisplayName *string
// Dependency predicate for this Stage.
//
// If set, used to populate the dependencies.edges and
// dependencies.predicate fields in the target Check.
//
// NOTE: Currently Stages in this group must only point to Stages created by
// the Stage performing this write. In theory, this should help prevent
// excessive coupling between different, unrelated, stage implementations.
//
// If arbitrary stage dependencies are allowed, it could cause errors when
// an upstream stage changes it's implementation and no longer produces the
// stages the downstream one expects. Instead, the upstream stage should
// create a Check which can remain stable across the implementation
// versions, and the downstream stages should depend on that.
//
// However, if the current writer is the one creating the stages, then there
// is no implementation risk.
Dependencies *WriteNodesRequest_DependencyGroup
// The requested execution policy of the Stage.
//
// Optional. If omitted when creating a stage, the executor will decide what
// policy to enforce in its ValidateStage RPC.
RequestedStageExecutionPolicy *StageExecutionPolicy
// The Check assignments of the Stage.
//
// Currently not implemented.
Assignments []*Stage_Assignment
}
func (b0 WriteNodesRequest_StageWrite_builder) Build() *WriteNodesRequest_StageWrite {
m0 := &WriteNodesRequest_StageWrite{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_Identifier = b.Identifier
x.xxx_hidden_Args = b.Args
if b.Realm != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 7)
x.xxx_hidden_Realm = b.Realm
}
if b.DisplayName != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 7)
x.xxx_hidden_DisplayName = b.DisplayName
}
x.xxx_hidden_Dependencies = b.Dependencies
x.xxx_hidden_RequestedStageExecutionPolicy = b.RequestedStageExecutionPolicy
x.xxx_hidden_Assignments = &b.Assignments
return m0
}
// Internal writes for the Stage Attempt indicated by the token.
//
// These aspects come from either the Executor which owns this Stage Attempt,
// or the running Stage Attempt process.
type WriteNodesRequest_CurrentAttemptWrite struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Details *[]*ValueWrite `protobuf:"bytes,1,rep,name=details,proto3"`
xxx_hidden_Progress *[]*WriteNodesRequest_StageAttemptProgress `protobuf:"bytes,2,rep,name=progress,proto3"`
xxx_hidden_StateTransition *WriteNodesRequest_CurrentAttemptWrite_StateTransition `protobuf:"bytes,3,opt,name=state_transition,json=stateTransition,proto3,oneof"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CurrentAttemptWrite) GetDetails() []*ValueWrite {
if x != nil {
if x.xxx_hidden_Details != nil {
return *x.xxx_hidden_Details
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite) GetProgress() []*WriteNodesRequest_StageAttemptProgress {
if x != nil {
if x.xxx_hidden_Progress != nil {
return *x.xxx_hidden_Progress
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite) GetStateTransition() *WriteNodesRequest_CurrentAttemptWrite_StateTransition {
if x != nil {
return x.xxx_hidden_StateTransition
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite) SetDetails(v []*ValueWrite) {
x.xxx_hidden_Details = &v
}
func (x *WriteNodesRequest_CurrentAttemptWrite) SetProgress(v []*WriteNodesRequest_StageAttemptProgress) {
x.xxx_hidden_Progress = &v
}
func (x *WriteNodesRequest_CurrentAttemptWrite) SetStateTransition(v *WriteNodesRequest_CurrentAttemptWrite_StateTransition) {
x.xxx_hidden_StateTransition = v
}
func (x *WriteNodesRequest_CurrentAttemptWrite) HasStateTransition() bool {
if x == nil {
return false
}
return x.xxx_hidden_StateTransition != nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite) ClearStateTransition() {
x.xxx_hidden_StateTransition = nil
}
type WriteNodesRequest_CurrentAttemptWrite_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// Sets details in the Stage Attempt.details field.
//
// Details are stored in an append-only map "type URL -> ValueRef".
// Overwrites of existing details are ignored (see ProgressIgnoredDetail
// message).
Details []*ValueWrite
// Progress messages to add to the current Stage Attempt.
//
// See StageAttemptProgress.idempotency_key to prevent duplicate appends on
// network flake.
Progress []*WriteNodesRequest_StageAttemptProgress
// A state transition to make in this write.
StateTransition *WriteNodesRequest_CurrentAttemptWrite_StateTransition
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_builder) Build() *WriteNodesRequest_CurrentAttemptWrite {
m0 := &WriteNodesRequest_CurrentAttemptWrite{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_Details = &b.Details
x.xxx_hidden_Progress = &b.Progress
x.xxx_hidden_StateTransition = b.StateTransition
return m0
}
// Internal writes for the Stage indicated by the token.
type WriteNodesRequest_CurrentStageWrite struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_ContinuationGroup *WriteNodesRequest_DependencyGroup `protobuf:"bytes,1,opt,name=continuation_group,json=continuationGroup,proto3,oneof"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentStageWrite) Reset() {
*x = WriteNodesRequest_CurrentStageWrite{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentStageWrite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentStageWrite) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentStageWrite) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CurrentStageWrite) GetContinuationGroup() *WriteNodesRequest_DependencyGroup {
if x != nil {
return x.xxx_hidden_ContinuationGroup
}
return nil
}
func (x *WriteNodesRequest_CurrentStageWrite) SetContinuationGroup(v *WriteNodesRequest_DependencyGroup) {
x.xxx_hidden_ContinuationGroup = v
}
func (x *WriteNodesRequest_CurrentStageWrite) HasContinuationGroup() bool {
if x == nil {
return false
}
return x.xxx_hidden_ContinuationGroup != nil
}
func (x *WriteNodesRequest_CurrentStageWrite) ClearContinuationGroup() {
x.xxx_hidden_ContinuationGroup = nil
}
type WriteNodesRequest_CurrentStageWrite_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// Continuation Group predicate for this Stage.
//
// If set, used to populate the continuation_group.edges and
// continuation_group.predicate fields in this Stage.
//
// Edges here must only point to Stages which were created_by this Stage.
//
// If continuation_group is already set, this will overwrite the existing
// continuation_group.
ContinuationGroup *WriteNodesRequest_DependencyGroup
}
func (b0 WriteNodesRequest_CurrentStageWrite_builder) Build() *WriteNodesRequest_CurrentStageWrite {
m0 := &WriteNodesRequest_CurrentStageWrite{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_ContinuationGroup = b.ContinuationGroup
return m0
}
// Identifies a Stage for cancellation.
//
// Use the top-level `reason` field to provide the cancellation reason.
//
// A StageAttempt may not cancel its own Stage, because cancellation is an
// action taken by a different actor (and a StageAttempt cancelling its
// Stage is equivalent to a Stage cancelling itself). If a Stage wants to
// terminate itself, it should mark its attempt INCOMPLETE or COMPLETE.
type WriteNodesRequest_StageCancellation struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Identifier *v1.Stage `protobuf:"bytes,1,opt,name=identifier,proto3,oneof"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_StageCancellation) Reset() {
*x = WriteNodesRequest_StageCancellation{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_StageCancellation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_StageCancellation) ProtoMessage() {}
func (x *WriteNodesRequest_StageCancellation) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_StageCancellation) GetIdentifier() *v1.Stage {
if x != nil {
return x.xxx_hidden_Identifier
}
return nil
}
func (x *WriteNodesRequest_StageCancellation) SetIdentifier(v *v1.Stage) {
x.xxx_hidden_Identifier = v
}
func (x *WriteNodesRequest_StageCancellation) HasIdentifier() bool {
if x == nil {
return false
}
return x.xxx_hidden_Identifier != nil
}
func (x *WriteNodesRequest_StageCancellation) ClearIdentifier() {
x.xxx_hidden_Identifier = nil
}
type WriteNodesRequest_StageCancellation_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// The identifier of the stage to cancel.
//
// Required.
Identifier *v1.Stage
}
func (b0 WriteNodesRequest_StageCancellation_builder) Build() *WriteNodesRequest_StageCancellation {
m0 := &WriteNodesRequest_StageCancellation{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_Identifier = b.Identifier
return m0
}
// Indicate how the Orchestrator should transition to a given state.
type WriteNodesRequest_CurrentAttemptWrite_StateTransition struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_DesiredState isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState `protobuf_oneof:"desired_state"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite_StateTransition{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite_StateTransition) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) GetThrottled() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled {
if x != nil {
if x, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_); ok {
return x.Throttled
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) GetScheduled() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled {
if x != nil {
if x, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_); ok {
return x.Scheduled
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) GetRunning() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running {
if x != nil {
if x, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_); ok {
return x.Running
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) GetTearingDown() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown {
if x != nil {
if x, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_); ok {
return x.TearingDown
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) GetComplete() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete {
if x != nil {
if x, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_); ok {
return x.Complete
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) GetIncomplete() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete {
if x != nil {
if x, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_); ok {
return x.Incomplete
}
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) SetThrottled(v *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) {
if v == nil {
x.xxx_hidden_DesiredState = nil
return
}
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_{v}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) SetScheduled(v *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) {
if v == nil {
x.xxx_hidden_DesiredState = nil
return
}
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_{v}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) SetRunning(v *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) {
if v == nil {
x.xxx_hidden_DesiredState = nil
return
}
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_{v}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) SetTearingDown(v *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown) {
if v == nil {
x.xxx_hidden_DesiredState = nil
return
}
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_{v}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) SetComplete(v *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete) {
if v == nil {
x.xxx_hidden_DesiredState = nil
return
}
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_{v}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) SetIncomplete(v *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) {
if v == nil {
x.xxx_hidden_DesiredState = nil
return
}
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_{v}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) HasDesiredState() bool {
if x == nil {
return false
}
return x.xxx_hidden_DesiredState != nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) HasThrottled() bool {
if x == nil {
return false
}
_, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_)
return ok
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) HasScheduled() bool {
if x == nil {
return false
}
_, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_)
return ok
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) HasRunning() bool {
if x == nil {
return false
}
_, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_)
return ok
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) HasTearingDown() bool {
if x == nil {
return false
}
_, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_)
return ok
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) HasComplete() bool {
if x == nil {
return false
}
_, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_)
return ok
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) HasIncomplete() bool {
if x == nil {
return false
}
_, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_)
return ok
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ClearDesiredState() {
x.xxx_hidden_DesiredState = nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ClearThrottled() {
if _, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_); ok {
x.xxx_hidden_DesiredState = nil
}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ClearScheduled() {
if _, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_); ok {
x.xxx_hidden_DesiredState = nil
}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ClearRunning() {
if _, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_); ok {
x.xxx_hidden_DesiredState = nil
}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ClearTearingDown() {
if _, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_); ok {
x.xxx_hidden_DesiredState = nil
}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ClearComplete() {
if _, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_); ok {
x.xxx_hidden_DesiredState = nil
}
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) ClearIncomplete() {
if _, ok := x.xxx_hidden_DesiredState.(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_); ok {
x.xxx_hidden_DesiredState = nil
}
}
const WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState_not_set_case case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState = 0
const WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_case case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState = 1
const WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_case case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState = 2
const WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running_case case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState = 3
const WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_case case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState = 4
const WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete_case case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState = 5
const WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_case case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState = 6
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition) WhichDesiredState() case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState {
if x == nil {
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState_not_set_case
}
switch x.xxx_hidden_DesiredState.(type) {
case *writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_:
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_case
case *writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_:
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_case
case *writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_:
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running_case
case *writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_:
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_case
case *writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_:
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete_case
case *writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_:
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_case
default:
return WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState_not_set_case
}
}
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// Required - the state that this StateTransition wants to move
// to.
// Fields of oneof xxx_hidden_DesiredState:
// Move to the THROTTLED state.
//
// Current state must be PENDING.
Throttled *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled
// Move to the SCHEDULED state.
//
// Current state must be PENDING.
Scheduled *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled
// Move to the RUNNING state.
//
// Current state must be PENDING or SCHEDULED.
Running *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running
// Move to the TEARING_DOWN state.
//
// Current state must be RUNNING or CANCELLING.
TearingDown *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown
// Move to the COMPLETE state.
//
// Current state must be PENDING, SCHEDULED, RUNNING or TEARING_DOWN.
Complete *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete
// Move to the INCOMPLETE state.
//
// Current state must be PENDING, SCHEDULED, RUNNING or TEARING_DOWN.
Incomplete *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete
// -- end of xxx_hidden_DesiredState
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_StateTransition_builder) Build() *WriteNodesRequest_CurrentAttemptWrite_StateTransition {
m0 := &WriteNodesRequest_CurrentAttemptWrite_StateTransition{}
b, x := &b0, m0
_, _ = b, x
if b.Throttled != nil {
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_{b.Throttled}
}
if b.Scheduled != nil {
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_{b.Scheduled}
}
if b.Running != nil {
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_{b.Running}
}
if b.TearingDown != nil {
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_{b.TearingDown}
}
if b.Complete != nil {
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_{b.Complete}
}
if b.Incomplete != nil {
x.xxx_hidden_DesiredState = &writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_{b.Incomplete}
}
return m0
}
type case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState protoreflect.FieldNumber
func (x case_WriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState) String() string {
md := file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[9].Descriptor()
if x == 0 {
return "not set"
}
return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}
type isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState interface {
isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState()
}
type writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_ struct {
// Move to the THROTTLED state.
//
// Current state must be PENDING.
Throttled *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled `protobuf:"bytes,1,opt,name=throttled,proto3,oneof"`
}
type writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_ struct {
// Move to the SCHEDULED state.
//
// Current state must be PENDING.
Scheduled *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled `protobuf:"bytes,2,opt,name=scheduled,proto3,oneof"`
}
type writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_ struct {
// Move to the RUNNING state.
//
// Current state must be PENDING or SCHEDULED.
Running *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running `protobuf:"bytes,3,opt,name=running,proto3,oneof"`
}
type writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_ struct {
// Move to the TEARING_DOWN state.
//
// Current state must be RUNNING or CANCELLING.
TearingDown *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown `protobuf:"bytes,4,opt,name=tearing_down,json=tearingDown,proto3,oneof"`
}
type writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_ struct {
// Move to the COMPLETE state.
//
// Current state must be PENDING, SCHEDULED, RUNNING or TEARING_DOWN.
Complete *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete `protobuf:"bytes,5,opt,name=complete,proto3,oneof"`
}
type writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_ struct {
// Move to the INCOMPLETE state.
//
// Current state must be PENDING, SCHEDULED, RUNNING or TEARING_DOWN.
Incomplete *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete `protobuf:"bytes,6,opt,name=incomplete,proto3,oneof"`
}
func (*writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_) isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState() {
}
func (*writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_) isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState() {
}
func (*writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_) isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState() {
}
func (*writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_) isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState() {
}
func (*writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_) isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState() {
}
func (*writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_) isWriteNodesRequest_CurrentAttemptWrite_StateTransition_DesiredState() {
}
// Throttled indicates that the Executor can run this Attempt, just not
// right now.
//
// Can only be used for attempts in PENDING or THROTTLED state. If the
// attempt is already running, use Incomplete instead (since some work was
// done, but it was incomplete) with `throttle_next_attempt_until` field
// set.
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_Until *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=until,proto3,oneof"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) GetUntil() *timestamppb.Timestamp {
if x != nil {
return x.xxx_hidden_Until
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) SetUntil(v *timestamppb.Timestamp) {
x.xxx_hidden_Until = v
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) HasUntil() bool {
if x == nil {
return false
}
return x.xxx_hidden_Until != nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled) ClearUntil() {
x.xxx_hidden_Until = nil
}
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// Specifies that the Stage Attempt should not be made PENDING again
// (and thus sent to the Executor via RunStage) until this time.
//
// Specifying a time in the past will cause the write to be a no-op
// (which will leave the Attempt in the PENDING state).
//
// Required.
Until *timestamppb.Timestamp
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_builder) Build() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled {
m0 := &WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_Until = b.Until
return m0
}
// Scheduled indicates that the Executor has accepted the Attempt, and
// will run it at a later time.
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_AttemptExecutionPolicy *StageAttemptExecutionPolicy `protobuf:"bytes,1,opt,name=attempt_execution_policy,json=attemptExecutionPolicy,proto3,oneof"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) GetAttemptExecutionPolicy() *StageAttemptExecutionPolicy {
if x != nil {
return x.xxx_hidden_AttemptExecutionPolicy
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) SetAttemptExecutionPolicy(v *StageAttemptExecutionPolicy) {
x.xxx_hidden_AttemptExecutionPolicy = v
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) HasAttemptExecutionPolicy() bool {
if x == nil {
return false
}
return x.xxx_hidden_AttemptExecutionPolicy != nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled) ClearAttemptExecutionPolicy() {
x.xxx_hidden_AttemptExecutionPolicy = nil
}
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// The execution policy for this Stage Attempt.
//
// Optional.
AttemptExecutionPolicy *StageAttemptExecutionPolicy
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_builder) Build() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled {
m0 := &WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_AttemptExecutionPolicy = b.AttemptExecutionPolicy
return m0
}
// Running indicates that the Executor is actively running this Attempt.
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_AttemptExecutionPolicy *StageAttemptExecutionPolicy `protobuf:"bytes,1,opt,name=attempt_execution_policy,json=attemptExecutionPolicy,proto3,oneof"`
xxx_hidden_ProcessUid *string `protobuf:"bytes,2,opt,name=process_uid,json=processUid,proto3,oneof"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) GetAttemptExecutionPolicy() *StageAttemptExecutionPolicy {
if x != nil {
return x.xxx_hidden_AttemptExecutionPolicy
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) GetProcessUid() string {
if x != nil {
if x.xxx_hidden_ProcessUid != nil {
return *x.xxx_hidden_ProcessUid
}
return ""
}
return ""
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) SetAttemptExecutionPolicy(v *StageAttemptExecutionPolicy) {
x.xxx_hidden_AttemptExecutionPolicy = v
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) SetProcessUid(v string) {
x.xxx_hidden_ProcessUid = &v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) HasAttemptExecutionPolicy() bool {
if x == nil {
return false
}
return x.xxx_hidden_AttemptExecutionPolicy != nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) HasProcessUid() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) ClearAttemptExecutionPolicy() {
x.xxx_hidden_AttemptExecutionPolicy = nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running) ClearProcessUid() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
x.xxx_hidden_ProcessUid = nil
}
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// The execution policy for this Stage Attempt.
//
// This should only be used if it wasn't already set in SCHEDULED.
// If it's set for both SCHEDULED and RUNNING, it must be the same
// value.
//
// Optional.
AttemptExecutionPolicy *StageAttemptExecutionPolicy
// Sets the Stage.Attempt.process_uid field.
//
// If the field is already populated in the Stage Attempt, this value
// must match - otherwise the write is rejected with an error detail
// of StageAttemptClaimedFailure.
//
// Refer to Stage.Attempt.process_uid.
//
// Required.
ProcessUid *string
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running_builder) Build() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running {
m0 := &WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running{}
b, x := &b0, m0
_, _ = b, x
x.xxx_hidden_AttemptExecutionPolicy = b.AttemptExecutionPolicy
if b.ProcessUid != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
x.xxx_hidden_ProcessUid = b.ProcessUid
}
return m0
}
// TearingDown indicates that the Executor has either finished RUNNING
// the Attempt, or the Stage was cancelled and the Executor is doing
// its final cleanup for a previously-RUNNING Attempt.
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_builder) Build() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown {
m0 := &WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown{}
b, x := &b0, m0
_, _ = b, x
return m0
}
// Complete indicates that the Executor has finished all work on this
// Attempt, and the Stage can now move into its next state.
//
// NOTE: See STAGE_ATTEMPT_COMPLETE. Completing a Stage does not imply
// workflow-level success like "the code compiled successfully" or "the
// tests all passed". It simply means that e.g. the requested build ran
// to completion, or the test harness executed all the tests.
// Workflow-level records like compilation success/failure or test
// execution success/failure should be recorded in the Checks for those
// things as specific Result data.
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete_builder) Build() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete {
m0 := &WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete{}
b, x := &b0, m0
_, _ = b, x
return m0
}
// Incomplete indicates an Executor-level failure which prevented the
// stage from running to completion.
//
// By convention, the reason for this should be reflected in the final
// Progress message (which, unlike the write reasons, will not be
// garbage collected after some amount of time).
//
// NOTE: See STAGE_ATTEMPT_INCOMPLETE. Similar to COMPLETE, INCOMPLETE
// is used to indicate failure of the stage to complete it's desired
// task (e.g. compiler segfaulted, test harness lost contact with a DUT
// during test execution (and such a failure may not be due to the test
// itself), etc.)
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete struct {
state protoimpl.MessageState `protogen:"opaque.v1"`
xxx_hidden_BlockNewAttempts bool `protobuf:"varint,1,opt,name=block_new_attempts,json=blockNewAttempts,proto3,oneof"`
xxx_hidden_ThrottleNextAttemptUntil *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=throttle_next_attempt_until,json=throttleNextAttemptUntil,proto3,oneof"`
XXX_raceDetectHookData protoimpl.RaceDetectHookData
XXX_presence [1]uint32
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) Reset() {
*x = WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete{}
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) ProtoMessage() {}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) ProtoReflect() protoreflect.Message {
mi := &file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) GetBlockNewAttempts() bool {
if x != nil {
return x.xxx_hidden_BlockNewAttempts
}
return false
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) GetThrottleNextAttemptUntil() *timestamppb.Timestamp {
if x != nil {
return x.xxx_hidden_ThrottleNextAttemptUntil
}
return nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) SetBlockNewAttempts(v bool) {
x.xxx_hidden_BlockNewAttempts = v
protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) SetThrottleNextAttemptUntil(v *timestamppb.Timestamp) {
x.xxx_hidden_ThrottleNextAttemptUntil = v
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) HasBlockNewAttempts() bool {
if x == nil {
return false
}
return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) HasThrottleNextAttemptUntil() bool {
if x == nil {
return false
}
return x.xxx_hidden_ThrottleNextAttemptUntil != nil
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) ClearBlockNewAttempts() {
protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
x.xxx_hidden_BlockNewAttempts = false
}
func (x *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete) ClearThrottleNextAttemptUntil() {
x.xxx_hidden_ThrottleNextAttemptUntil = nil
}
type WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
// Controls if this Stage should make another Attempt.
//
// If true, then no new Attempt is made, even if policy would permit
// one.
//
// Optional.
BlockNewAttempts *bool
// The earliest time the next attempt should start running.
//
// If set, a new Attempt (if allowed by the policy at all) will be
// created in THROTTLED state and will start running no sooner
// than the given timestamp.
//
// If unset, a new Attempt will be created in AWAITING_RETRY state and
// it will start running after some delay picked by the Orchestrator
// itself (using randomized exponential backoff based on the number of
// previous incomplete attempts).
ThrottleNextAttemptUntil *timestamppb.Timestamp
}
func (b0 WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_builder) Build() *WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete {
m0 := &WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete{}
b, x := &b0, m0
_, _ = b, x
if b.BlockNewAttempts != nil {
protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
x.xxx_hidden_BlockNewAttempts = *b.BlockNewAttempts
}
x.xxx_hidden_ThrottleNextAttemptUntil = b.ThrottleNextAttemptUntil
return m0
}
var File_turboci_graph_orchestrator_v1_write_nodes_request_proto protoreflect.FileDescriptor
const file_turboci_graph_orchestrator_v1_write_nodes_request_proto_rawDesc = "" +
"\n" +
"7turboci/graph/orchestrator/v1/write_nodes_request.proto\x12\x1dturboci.graph.orchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%turboci/graph/ids/v1/identifier.proto\x1a.turboci/graph/orchestrator/v1/check_kind.proto\x1a/turboci/graph/orchestrator/v1/check_state.proto\x1a(turboci/graph/orchestrator/v1/edge.proto\x1a1turboci/graph/orchestrator/v1/field_options.proto\x1a)turboci/graph/orchestrator/v1/stage.proto\x1aBturboci/graph/orchestrator/v1/stage_attempt_execution_policy.proto\x1a:turboci/graph/orchestrator/v1/stage_execution_policy.proto\x1a7turboci/graph/orchestrator/v1/transaction_details.proto\x1a/turboci/graph/orchestrator/v1/value_write.proto\"\xa2'\n" +
"\x11WriteNodesRequest\x12\x19\n" +
"\x05token\x18\x01 \x01(\tH\x00R\x05token\x88\x01\x01\x12T\n" +
"\x06reason\x18\x02 \x01(\v27.turboci.graph.orchestrator.v1.WriteNodesRequest.ReasonH\x01R\x06reason\x88\x01\x01\x12H\n" +
"\x03txn\x18\x03 \x01(\v21.turboci.graph.orchestrator.v1.TransactionDetailsH\x02R\x03txn\x88\x01\x01\x12S\n" +
"\x06checks\x18\x04 \x03(\v2;.turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWriteR\x06checks\x12S\n" +
"\x06stages\x18\x05 \x03(\v2;.turboci.graph.orchestrator.v1.WriteNodesRequest.StageWriteR\x06stages\x12r\n" +
"\x0fcurrent_attempt\x18\x06 \x01(\v2D.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWriteH\x03R\x0ecurrentAttempt\x88\x01\x01\x12l\n" +
"\rcurrent_stage\x18\a \x01(\v2B.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentStageWriteH\x04R\fcurrentStage\x88\x01\x01\x12s\n" +
"\x13stage_cancellations\x18\b \x03(\v2B.turboci.graph.orchestrator.v1.WriteNodesRequest.StageCancellationR\x12stageCancellations\x1a\xd7\x01\n" +
"\x0fDependencyGroup\x129\n" +
"\x05edges\x18\x01 \x03(\v2#.turboci.graph.orchestrator.v1.EdgeR\x05edges\x12X\n" +
"\x06groups\x18\x02 \x03(\v2@.turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroupR\x06groups\x12!\n" +
"\tthreshold\x18\x03 \x01(\x05H\x00R\tthreshold\x88\x01\x01B\f\n" +
"\n" +
"_threshold\x1a\xc8\x01\n" +
"\x14StageAttemptProgress\x12\x1d\n" +
"\amessage\x18\x01 \x01(\tH\x00R\amessage\x88\x01\x01\x12C\n" +
"\adetails\x18\x02 \x03(\v2).turboci.graph.orchestrator.v1.ValueWriteR\adetails\x12,\n" +
"\x0fidempotency_key\x18\x03 \x01(\tH\x01R\x0eidempotencyKey\x88\x01\x01B\n" +
"\n" +
"\b_messageB\x12\n" +
"\x10_idempotency_key\x1ax\n" +
"\x06Reason\x12\x1d\n" +
"\amessage\x18\x01 \x01(\tH\x00R\amessage\x88\x01\x01\x12C\n" +
"\adetails\x18\x02 \x03(\v2).turboci.graph.orchestrator.v1.ValueWriteR\adetailsB\n" +
"\n" +
"\b_message\x1a\xbb\x06\n" +
"\n" +
"CheckWrite\x12@\n" +
"\n" +
"identifier\x18\x01 \x01(\v2\x1b.turboci.graph.ids.v1.CheckH\x00R\n" +
"identifier\x88\x01\x01\x12#\n" +
"\x05realm\x18\x02 \x01(\tB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01H\x01R\x05realm\x88\x01\x01\x12K\n" +
"\x04kind\x18\x03 \x01(\x0e2(.turboci.graph.orchestrator.v1.CheckKindB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01H\x02R\x04kind\x88\x01\x01\x12(\n" +
"\bsub_type\x18\n" +
" \x01(\tB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01H\x03R\asubType\x88\x01\x01\x123\n" +
"\fdisplay_name\x18\t \x01(\tB\v\x82\x86\xf6\xfb\x0f\x05\n" +
"\x03\n" +
"\x01\n" +
"H\x04R\vdisplayName\x88\x01\x01\x12P\n" +
"\aoptions\x18\x04 \x03(\v2).turboci.graph.orchestrator.v1.ValueWriteB\v\x82\x86\xf6\xfb\x0f\x05\n" +
"\x03\n" +
"\x01\n" +
"R\aoptions\x12{\n" +
"\fdependencies\x18\x05 \x01(\v2@.turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroupB\x10\x82\x86\xf6\xfb\x0f\n" +
"\n" +
"\x03\n" +
"\x01\n" +
"\x12\x03\n" +
"\x01\x02H\x05R\fdependencies\x88\x01\x01\x12X\n" +
"\vresult_data\x18\x06 \x03(\v2).turboci.graph.orchestrator.v1.ValueWriteB\f\x82\x86\xf6\xfb\x0f\x06\n" +
"\x04\n" +
"\x02\x14\x1eR\n" +
"resultData\x12;\n" +
"\x10finalize_results\x18\a \x01(\bB\v\x82\x86\xf6\xfb\x0f\x05\n" +
"\x03\n" +
"\x01\x1eH\x06R\x0ffinalizeResults\x88\x01\x01\x12D\n" +
"\x05state\x18\b \x01(\x0e2).turboci.graph.orchestrator.v1.CheckStateH\aR\x05state\x88\x01\x01B\r\n" +
"\v_identifierB\b\n" +
"\x06_realmB\a\n" +
"\x05_kindB\v\n" +
"\t_sub_typeB\x0f\n" +
"\r_display_nameB\x0f\n" +
"\r_dependenciesB\x13\n" +
"\x11_finalize_resultsB\b\n" +
"\x06_state\x1a\xd3\x05\n" +
"\n" +
"StageWrite\x12@\n" +
"\n" +
"identifier\x18\x01 \x01(\v2\x1b.turboci.graph.ids.v1.StageH\x00R\n" +
"identifier\x88\x01\x01\x12L\n" +
"\x04args\x18\x02 \x01(\v2).turboci.graph.orchestrator.v1.ValueWriteB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01H\x01R\x04args\x88\x01\x01\x12#\n" +
"\x05realm\x18\x03 \x01(\tB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01H\x02R\x05realm\x88\x01\x01\x120\n" +
"\fdisplay_name\x18\b \x01(\tB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01H\x03R\vdisplayName\x88\x01\x01\x12y\n" +
"\fdependencies\x18\x04 \x01(\v2@.turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroupB\x0e\x82\x86\xf6\xfb\x0f\b\x12\x04\n" +
"\x02\b\x02\x18\x01H\x04R\fdependencies\x88\x01\x01\x12\x8b\x01\n" +
" requested_stage_execution_policy\x18\x05 \x01(\v23.turboci.graph.orchestrator.v1.StageExecutionPolicyB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01H\x05R\x1drequestedStageExecutionPolicy\x88\x01\x01\x12[\n" +
"\vassignments\x18\x06 \x03(\v2/.turboci.graph.orchestrator.v1.Stage.AssignmentB\b\x82\x86\xf6\xfb\x0f\x02\x18\x01R\vassignmentsB\r\n" +
"\v_identifierB\a\n" +
"\x05_argsB\b\n" +
"\x06_realmB\x0f\n" +
"\r_display_nameB\x0f\n" +
"\r_dependenciesB#\n" +
"!_requested_stage_execution_policyJ\x04\b\a\x10\bR\tcancelled\x1a\xc3\x0e\n" +
"\x13CurrentAttemptWrite\x12C\n" +
"\adetails\x18\x01 \x03(\v2).turboci.graph.orchestrator.v1.ValueWriteR\adetails\x12a\n" +
"\bprogress\x18\x02 \x03(\v2E.turboci.graph.orchestrator.v1.WriteNodesRequest.StageAttemptProgressR\bprogress\x12\x84\x01\n" +
"\x10state_transition\x18\x03 \x01(\v2T.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransitionH\x00R\x0fstateTransition\x88\x01\x01\x1a\xe7\v\n" +
"\x0fStateTransition\x12~\n" +
"\tthrottled\x18\x01 \x01(\v2^.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.ThrottledH\x00R\tthrottled\x12~\n" +
"\tscheduled\x18\x02 \x01(\v2^.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.ScheduledH\x00R\tscheduled\x12x\n" +
"\arunning\x18\x03 \x01(\v2\\.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.RunningH\x00R\arunning\x12\x85\x01\n" +
"\ftearing_down\x18\x04 \x01(\v2`.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.TearingDownH\x00R\vtearingDown\x12{\n" +
"\bcomplete\x18\x05 \x01(\v2].turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.CompleteH\x00R\bcomplete\x12\x81\x01\n" +
"\n" +
"incomplete\x18\x06 \x01(\v2_.turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.IncompleteH\x00R\n" +
"incomplete\x1aL\n" +
"\tThrottled\x125\n" +
"\x05until\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x05until\x88\x01\x01B\b\n" +
"\x06_until\x1a\xa3\x01\n" +
"\tScheduled\x12y\n" +
"\x18attempt_execution_policy\x18\x01 \x01(\v2:.turboci.graph.orchestrator.v1.StageAttemptExecutionPolicyH\x00R\x16attemptExecutionPolicy\x88\x01\x01B\x1b\n" +
"\x19_attempt_execution_policy\x1a\xd7\x01\n" +
"\aRunning\x12y\n" +
"\x18attempt_execution_policy\x18\x01 \x01(\v2:.turboci.graph.orchestrator.v1.StageAttemptExecutionPolicyH\x00R\x16attemptExecutionPolicy\x88\x01\x01\x12$\n" +
"\vprocess_uid\x18\x02 \x01(\tH\x01R\n" +
"processUid\x88\x01\x01B\x1b\n" +
"\x19_attempt_execution_policyB\x0e\n" +
"\f_process_uid\x1a\r\n" +
"\vTearingDown\x1a\n" +
"\n" +
"\bComplete\x1a\xd6\x01\n" +
"\n" +
"Incomplete\x121\n" +
"\x12block_new_attempts\x18\x01 \x01(\bH\x00R\x10blockNewAttempts\x88\x01\x01\x12^\n" +
"\x1bthrottle_next_attempt_until\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\x18throttleNextAttemptUntil\x88\x01\x01B\x15\n" +
"\x13_block_new_attemptsB\x1e\n" +
"\x1c_throttle_next_attempt_untilB\x0f\n" +
"\rdesired_stateB\x13\n" +
"\x11_state_transition\x1a\xae\x01\n" +
"\x11CurrentStageWrite\x12\x81\x01\n" +
"\x12continuation_group\x18\x01 \x01(\v2@.turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroupB\v\x82\x86\xf6\xfb\x0f\x05\x12\x03\n" +
"\x01\bH\x00R\x11continuationGroup\x88\x01\x01B\x15\n" +
"\x13_continuation_group\x1ad\n" +
"\x11StageCancellation\x12@\n" +
"\n" +
"identifier\x18\x01 \x01(\v2\x1b.turboci.graph.ids.v1.StageH\x00R\n" +
"identifier\x88\x01\x01B\r\n" +
"\v_identifierB\b\n" +
"\x06_tokenB\t\n" +
"\a_reasonB\x06\n" +
"\x04_txnB\x12\n" +
"\x10_current_attemptB\x10\n" +
"\x0e_current_stageBIP\x01ZEgo.chromium.org/turboci/proto/go/graph/orchestrator/v1;orchestratorpbb\x06proto3"
var file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_turboci_graph_orchestrator_v1_write_nodes_request_proto_goTypes = []any{
(*WriteNodesRequest)(nil), // 0: turboci.graph.orchestrator.v1.WriteNodesRequest
(*WriteNodesRequest_DependencyGroup)(nil), // 1: turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroup
(*WriteNodesRequest_StageAttemptProgress)(nil), // 2: turboci.graph.orchestrator.v1.WriteNodesRequest.StageAttemptProgress
(*WriteNodesRequest_Reason)(nil), // 3: turboci.graph.orchestrator.v1.WriteNodesRequest.Reason
(*WriteNodesRequest_CheckWrite)(nil), // 4: turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite
(*WriteNodesRequest_StageWrite)(nil), // 5: turboci.graph.orchestrator.v1.WriteNodesRequest.StageWrite
(*WriteNodesRequest_CurrentAttemptWrite)(nil), // 6: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite
(*WriteNodesRequest_CurrentStageWrite)(nil), // 7: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentStageWrite
(*WriteNodesRequest_StageCancellation)(nil), // 8: turboci.graph.orchestrator.v1.WriteNodesRequest.StageCancellation
(*WriteNodesRequest_CurrentAttemptWrite_StateTransition)(nil), // 9: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition
(*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Throttled)(nil), // 10: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Throttled
(*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled)(nil), // 11: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Scheduled
(*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Running)(nil), // 12: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Running
(*WriteNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown)(nil), // 13: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.TearingDown
(*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Complete)(nil), // 14: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Complete
(*WriteNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete)(nil), // 15: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Incomplete
(*TransactionDetails)(nil), // 16: turboci.graph.orchestrator.v1.TransactionDetails
(*Edge)(nil), // 17: turboci.graph.orchestrator.v1.Edge
(*ValueWrite)(nil), // 18: turboci.graph.orchestrator.v1.ValueWrite
(*v1.Check)(nil), // 19: turboci.graph.ids.v1.Check
(CheckKind)(0), // 20: turboci.graph.orchestrator.v1.CheckKind
(CheckState)(0), // 21: turboci.graph.orchestrator.v1.CheckState
(*v1.Stage)(nil), // 22: turboci.graph.ids.v1.Stage
(*StageExecutionPolicy)(nil), // 23: turboci.graph.orchestrator.v1.StageExecutionPolicy
(*Stage_Assignment)(nil), // 24: turboci.graph.orchestrator.v1.Stage.Assignment
(*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp
(*StageAttemptExecutionPolicy)(nil), // 26: turboci.graph.orchestrator.v1.StageAttemptExecutionPolicy
}
var file_turboci_graph_orchestrator_v1_write_nodes_request_proto_depIdxs = []int32{
3, // 0: turboci.graph.orchestrator.v1.WriteNodesRequest.reason:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.Reason
16, // 1: turboci.graph.orchestrator.v1.WriteNodesRequest.txn:type_name -> turboci.graph.orchestrator.v1.TransactionDetails
4, // 2: turboci.graph.orchestrator.v1.WriteNodesRequest.checks:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite
5, // 3: turboci.graph.orchestrator.v1.WriteNodesRequest.stages:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.StageWrite
6, // 4: turboci.graph.orchestrator.v1.WriteNodesRequest.current_attempt:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite
7, // 5: turboci.graph.orchestrator.v1.WriteNodesRequest.current_stage:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentStageWrite
8, // 6: turboci.graph.orchestrator.v1.WriteNodesRequest.stage_cancellations:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.StageCancellation
17, // 7: turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroup.edges:type_name -> turboci.graph.orchestrator.v1.Edge
1, // 8: turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroup.groups:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroup
18, // 9: turboci.graph.orchestrator.v1.WriteNodesRequest.StageAttemptProgress.details:type_name -> turboci.graph.orchestrator.v1.ValueWrite
18, // 10: turboci.graph.orchestrator.v1.WriteNodesRequest.Reason.details:type_name -> turboci.graph.orchestrator.v1.ValueWrite
19, // 11: turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite.identifier:type_name -> turboci.graph.ids.v1.Check
20, // 12: turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite.kind:type_name -> turboci.graph.orchestrator.v1.CheckKind
18, // 13: turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite.options:type_name -> turboci.graph.orchestrator.v1.ValueWrite
1, // 14: turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite.dependencies:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroup
18, // 15: turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite.result_data:type_name -> turboci.graph.orchestrator.v1.ValueWrite
21, // 16: turboci.graph.orchestrator.v1.WriteNodesRequest.CheckWrite.state:type_name -> turboci.graph.orchestrator.v1.CheckState
22, // 17: turboci.graph.orchestrator.v1.WriteNodesRequest.StageWrite.identifier:type_name -> turboci.graph.ids.v1.Stage
18, // 18: turboci.graph.orchestrator.v1.WriteNodesRequest.StageWrite.args:type_name -> turboci.graph.orchestrator.v1.ValueWrite
1, // 19: turboci.graph.orchestrator.v1.WriteNodesRequest.StageWrite.dependencies:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroup
23, // 20: turboci.graph.orchestrator.v1.WriteNodesRequest.StageWrite.requested_stage_execution_policy:type_name -> turboci.graph.orchestrator.v1.StageExecutionPolicy
24, // 21: turboci.graph.orchestrator.v1.WriteNodesRequest.StageWrite.assignments:type_name -> turboci.graph.orchestrator.v1.Stage.Assignment
18, // 22: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.details:type_name -> turboci.graph.orchestrator.v1.ValueWrite
2, // 23: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.progress:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.StageAttemptProgress
9, // 24: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.state_transition:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition
1, // 25: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentStageWrite.continuation_group:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.DependencyGroup
22, // 26: turboci.graph.orchestrator.v1.WriteNodesRequest.StageCancellation.identifier:type_name -> turboci.graph.ids.v1.Stage
10, // 27: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.throttled:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Throttled
11, // 28: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.scheduled:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Scheduled
12, // 29: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.running:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Running
13, // 30: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.tearing_down:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.TearingDown
14, // 31: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.complete:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Complete
15, // 32: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.incomplete:type_name -> turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Incomplete
25, // 33: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Throttled.until:type_name -> google.protobuf.Timestamp
26, // 34: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Scheduled.attempt_execution_policy:type_name -> turboci.graph.orchestrator.v1.StageAttemptExecutionPolicy
26, // 35: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Running.attempt_execution_policy:type_name -> turboci.graph.orchestrator.v1.StageAttemptExecutionPolicy
25, // 36: turboci.graph.orchestrator.v1.WriteNodesRequest.CurrentAttemptWrite.StateTransition.Incomplete.throttle_next_attempt_until:type_name -> google.protobuf.Timestamp
37, // [37:37] is the sub-list for method output_type
37, // [37:37] is the sub-list for method input_type
37, // [37:37] is the sub-list for extension type_name
37, // [37:37] is the sub-list for extension extendee
0, // [0:37] is the sub-list for field type_name
}
func init() { file_turboci_graph_orchestrator_v1_write_nodes_request_proto_init() }
func file_turboci_graph_orchestrator_v1_write_nodes_request_proto_init() {
if File_turboci_graph_orchestrator_v1_write_nodes_request_proto != nil {
return
}
file_turboci_graph_orchestrator_v1_check_kind_proto_init()
file_turboci_graph_orchestrator_v1_check_state_proto_init()
file_turboci_graph_orchestrator_v1_edge_proto_init()
file_turboci_graph_orchestrator_v1_field_options_proto_init()
file_turboci_graph_orchestrator_v1_stage_proto_init()
file_turboci_graph_orchestrator_v1_stage_attempt_execution_policy_proto_init()
file_turboci_graph_orchestrator_v1_stage_execution_policy_proto_init()
file_turboci_graph_orchestrator_v1_transaction_details_proto_init()
file_turboci_graph_orchestrator_v1_value_write_proto_init()
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[0].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[1].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[2].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[3].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[4].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[5].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[6].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[7].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[8].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[9].OneofWrappers = []any{
(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Throttled_)(nil),
(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Scheduled_)(nil),
(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Running_)(nil),
(*writeNodesRequest_CurrentAttemptWrite_StateTransition_TearingDown_)(nil),
(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Complete_)(nil),
(*writeNodesRequest_CurrentAttemptWrite_StateTransition_Incomplete_)(nil),
}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[10].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[11].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[12].OneofWrappers = []any{}
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes[15].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_turboci_graph_orchestrator_v1_write_nodes_request_proto_rawDesc), len(file_turboci_graph_orchestrator_v1_write_nodes_request_proto_rawDesc)),
NumEnums: 0,
NumMessages: 16,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_turboci_graph_orchestrator_v1_write_nodes_request_proto_goTypes,
DependencyIndexes: file_turboci_graph_orchestrator_v1_write_nodes_request_proto_depIdxs,
MessageInfos: file_turboci_graph_orchestrator_v1_write_nodes_request_proto_msgTypes,
}.Build()
File_turboci_graph_orchestrator_v1_write_nodes_request_proto = out.File
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_goTypes = nil
file_turboci_graph_orchestrator_v1_write_nodes_request_proto_depIdxs = nil
}