// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v6.31.1
// source: bonanza.build/pkg/proto/model/command/command.proto

package command

import (
	core "bonanza.build/pkg/proto/model/core"
	filesystem "bonanza.build/pkg/proto/model/filesystem"
	status "google.golang.org/genproto/googleapis/rpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	anypb "google.golang.org/protobuf/types/known/anypb"
	reflect "reflect"
	sync "sync"
	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)
)

type Command struct {
	state                       protoimpl.MessageState                  `protogen:"open.v1"`
	Arguments                   []*ArgumentList_Element                 `protobuf:"bytes,1,rep,name=arguments,proto3" json:"arguments,omitempty"`
	EnvironmentVariables        []*EnvironmentVariableList_Element      `protobuf:"bytes,2,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"`
	DirectoryCreationParameters *filesystem.DirectoryCreationParameters `protobuf:"bytes,3,opt,name=directory_creation_parameters,json=directoryCreationParameters,proto3" json:"directory_creation_parameters,omitempty"`
	FileCreationParameters      *filesystem.FileCreationParameters      `protobuf:"bytes,4,opt,name=file_creation_parameters,json=fileCreationParameters,proto3" json:"file_creation_parameters,omitempty"`
	OutputPathPattern           *PathPattern                            `protobuf:"bytes,5,opt,name=output_path_pattern,json=outputPathPattern,proto3" json:"output_path_pattern,omitempty"`
	WorkingDirectory            string                                  `protobuf:"bytes,6,opt,name=working_directory,json=workingDirectory,proto3" json:"working_directory,omitempty"`
	StableInputRootPathUuid     string                                  `protobuf:"bytes,7,opt,name=stable_input_root_path_uuid,json=stableInputRootPathUuid,proto3" json:"stable_input_root_path_uuid,omitempty"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

func (x *Command) Reset() {
	*x = Command{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Command) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Command) ProtoMessage() {}

func (x *Command) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use Command.ProtoReflect.Descriptor instead.
func (*Command) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{0}
}

func (x *Command) GetArguments() []*ArgumentList_Element {
	if x != nil {
		return x.Arguments
	}
	return nil
}

func (x *Command) GetEnvironmentVariables() []*EnvironmentVariableList_Element {
	if x != nil {
		return x.EnvironmentVariables
	}
	return nil
}

func (x *Command) GetDirectoryCreationParameters() *filesystem.DirectoryCreationParameters {
	if x != nil {
		return x.DirectoryCreationParameters
	}
	return nil
}

func (x *Command) GetFileCreationParameters() *filesystem.FileCreationParameters {
	if x != nil {
		return x.FileCreationParameters
	}
	return nil
}

func (x *Command) GetOutputPathPattern() *PathPattern {
	if x != nil {
		return x.OutputPathPattern
	}
	return nil
}

func (x *Command) GetWorkingDirectory() string {
	if x != nil {
		return x.WorkingDirectory
	}
	return ""
}

func (x *Command) GetStableInputRootPathUuid() string {
	if x != nil {
		return x.StableInputRootPathUuid
	}
	return ""
}

type PathPattern struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Children:
	//
	//	*PathPattern_ChildrenExternal
	//	*PathPattern_ChildrenInline
	Children      isPathPattern_Children `protobuf_oneof:"children"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PathPattern) Reset() {
	*x = PathPattern{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PathPattern) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PathPattern) ProtoMessage() {}

func (x *PathPattern) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use PathPattern.ProtoReflect.Descriptor instead.
func (*PathPattern) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{1}
}

func (x *PathPattern) GetChildren() isPathPattern_Children {
	if x != nil {
		return x.Children
	}
	return nil
}

func (x *PathPattern) GetChildrenExternal() *core.DecodableReference {
	if x != nil {
		if x, ok := x.Children.(*PathPattern_ChildrenExternal); ok {
			return x.ChildrenExternal
		}
	}
	return nil
}

func (x *PathPattern) GetChildrenInline() *PathPattern_Children {
	if x != nil {
		if x, ok := x.Children.(*PathPattern_ChildrenInline); ok {
			return x.ChildrenInline
		}
	}
	return nil
}

type isPathPattern_Children interface {
	isPathPattern_Children()
}

type PathPattern_ChildrenExternal struct {
	ChildrenExternal *core.DecodableReference `protobuf:"bytes,1,opt,name=children_external,json=childrenExternal,proto3,oneof"`
}

type PathPattern_ChildrenInline struct {
	ChildrenInline *PathPattern_Children `protobuf:"bytes,2,opt,name=children_inline,json=childrenInline,proto3,oneof"`
}

func (*PathPattern_ChildrenExternal) isPathPattern_Children() {}

func (*PathPattern_ChildrenInline) isPathPattern_Children() {}

type ArgumentList struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Elements      []*ArgumentList_Element `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArgumentList) Reset() {
	*x = ArgumentList{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArgumentList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArgumentList) ProtoMessage() {}

func (x *ArgumentList) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use ArgumentList.ProtoReflect.Descriptor instead.
func (*ArgumentList) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{2}
}

func (x *ArgumentList) GetElements() []*ArgumentList_Element {
	if x != nil {
		return x.Elements
	}
	return nil
}

type EnvironmentVariableList struct {
	state         protoimpl.MessageState             `protogen:"open.v1"`
	Elements      []*EnvironmentVariableList_Element `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnvironmentVariableList) Reset() {
	*x = EnvironmentVariableList{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnvironmentVariableList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnvironmentVariableList) ProtoMessage() {}

func (x *EnvironmentVariableList) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use EnvironmentVariableList.ProtoReflect.Descriptor instead.
func (*EnvironmentVariableList) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{3}
}

func (x *EnvironmentVariableList) GetElements() []*EnvironmentVariableList_Element {
	if x != nil {
		return x.Elements
	}
	return nil
}

type Outputs struct {
	state         protoimpl.MessageState        `protogen:"open.v1"`
	Stdout        *filesystem.FileContents      `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"`
	Stderr        *filesystem.FileContents      `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"`
	OutputRoot    *filesystem.DirectoryContents `protobuf:"bytes,3,opt,name=output_root,json=outputRoot,proto3" json:"output_root,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Outputs) Reset() {
	*x = Outputs{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Outputs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Outputs) ProtoMessage() {}

func (x *Outputs) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use Outputs.ProtoReflect.Descriptor instead.
func (*Outputs) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{4}
}

func (x *Outputs) GetStdout() *filesystem.FileContents {
	if x != nil {
		return x.Stdout
	}
	return nil
}

func (x *Outputs) GetStderr() *filesystem.FileContents {
	if x != nil {
		return x.Stderr
	}
	return nil
}

func (x *Outputs) GetOutputRoot() *filesystem.DirectoryContents {
	if x != nil {
		return x.OutputRoot
	}
	return nil
}

type Action struct {
	state              protoimpl.MessageState         `protogen:"open.v1"`
	CommandReference   *core.DecodableReference       `protobuf:"bytes,1,opt,name=command_reference,json=commandReference,proto3" json:"command_reference,omitempty"`
	InputRootReference *filesystem.DirectoryReference `protobuf:"bytes,2,opt,name=input_root_reference,json=inputRootReference,proto3" json:"input_root_reference,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Action) Reset() {
	*x = Action{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Action) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Action) ProtoMessage() {}

func (x *Action) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use Action.ProtoReflect.Descriptor instead.
func (*Action) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{5}
}

func (x *Action) GetCommandReference() *core.DecodableReference {
	if x != nil {
		return x.CommandReference
	}
	return nil
}

func (x *Action) GetInputRootReference() *filesystem.DirectoryReference {
	if x != nil {
		return x.InputRootReference
	}
	return nil
}

type Result struct {
	state             protoimpl.MessageState   `protogen:"open.v1"`
	Status            *status.Status           `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	ExitCode          int64                    `protobuf:"varint,2,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	OutputsReference  *core.DecodableReference `protobuf:"bytes,3,opt,name=outputs_reference,json=outputsReference,proto3" json:"outputs_reference,omitempty"`
	AuxiliaryMetadata []*anypb.Any             `protobuf:"bytes,4,rep,name=auxiliary_metadata,json=auxiliaryMetadata,proto3" json:"auxiliary_metadata,omitempty"`
	WorkerId          map[string]string        `protobuf:"bytes,5,rep,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *Result) Reset() {
	*x = Result{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Result) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Result) ProtoMessage() {}

func (x *Result) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use Result.ProtoReflect.Descriptor instead.
func (*Result) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{6}
}

func (x *Result) GetStatus() *status.Status {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *Result) GetExitCode() int64 {
	if x != nil {
		return x.ExitCode
	}
	return 0
}

func (x *Result) GetOutputsReference() *core.DecodableReference {
	if x != nil {
		return x.OutputsReference
	}
	return nil
}

func (x *Result) GetAuxiliaryMetadata() []*anypb.Any {
	if x != nil {
		return x.AuxiliaryMetadata
	}
	return nil
}

func (x *Result) GetWorkerId() map[string]string {
	if x != nil {
		return x.WorkerId
	}
	return nil
}

type PathPattern_Child struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Pattern       *PathPattern           `protobuf:"bytes,2,opt,name=pattern,proto3" json:"pattern,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PathPattern_Child) Reset() {
	*x = PathPattern_Child{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PathPattern_Child) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PathPattern_Child) ProtoMessage() {}

func (x *PathPattern_Child) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use PathPattern_Child.ProtoReflect.Descriptor instead.
func (*PathPattern_Child) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{1, 0}
}

func (x *PathPattern_Child) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PathPattern_Child) GetPattern() *PathPattern {
	if x != nil {
		return x.Pattern
	}
	return nil
}

type PathPattern_Children struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Children      []*PathPattern_Child   `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PathPattern_Children) Reset() {
	*x = PathPattern_Children{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PathPattern_Children) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PathPattern_Children) ProtoMessage() {}

func (x *PathPattern_Children) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use PathPattern_Children.ProtoReflect.Descriptor instead.
func (*PathPattern_Children) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{1, 1}
}

func (x *PathPattern_Children) GetChildren() []*PathPattern_Child {
	if x != nil {
		return x.Children
	}
	return nil
}

type ArgumentList_Element struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Level:
	//
	//	*ArgumentList_Element_Leaf
	//	*ArgumentList_Element_Parent
	Level         isArgumentList_Element_Level `protobuf_oneof:"level"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArgumentList_Element) Reset() {
	*x = ArgumentList_Element{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArgumentList_Element) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArgumentList_Element) ProtoMessage() {}

func (x *ArgumentList_Element) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use ArgumentList_Element.ProtoReflect.Descriptor instead.
func (*ArgumentList_Element) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{2, 0}
}

func (x *ArgumentList_Element) GetLevel() isArgumentList_Element_Level {
	if x != nil {
		return x.Level
	}
	return nil
}

func (x *ArgumentList_Element) GetLeaf() string {
	if x != nil {
		if x, ok := x.Level.(*ArgumentList_Element_Leaf); ok {
			return x.Leaf
		}
	}
	return ""
}

func (x *ArgumentList_Element) GetParent() *core.DecodableReference {
	if x != nil {
		if x, ok := x.Level.(*ArgumentList_Element_Parent); ok {
			return x.Parent
		}
	}
	return nil
}

type isArgumentList_Element_Level interface {
	isArgumentList_Element_Level()
}

type ArgumentList_Element_Leaf struct {
	Leaf string `protobuf:"bytes,1,opt,name=leaf,proto3,oneof"`
}

type ArgumentList_Element_Parent struct {
	Parent *core.DecodableReference `protobuf:"bytes,2,opt,name=parent,proto3,oneof"`
}

func (*ArgumentList_Element_Leaf) isArgumentList_Element_Level() {}

func (*ArgumentList_Element_Parent) isArgumentList_Element_Level() {}

type EnvironmentVariableList_Element struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Level:
	//
	//	*EnvironmentVariableList_Element_Leaf_
	//	*EnvironmentVariableList_Element_Parent
	Level         isEnvironmentVariableList_Element_Level `protobuf_oneof:"level"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnvironmentVariableList_Element) Reset() {
	*x = EnvironmentVariableList_Element{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnvironmentVariableList_Element) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnvironmentVariableList_Element) ProtoMessage() {}

func (x *EnvironmentVariableList_Element) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use EnvironmentVariableList_Element.ProtoReflect.Descriptor instead.
func (*EnvironmentVariableList_Element) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{3, 0}
}

func (x *EnvironmentVariableList_Element) GetLevel() isEnvironmentVariableList_Element_Level {
	if x != nil {
		return x.Level
	}
	return nil
}

func (x *EnvironmentVariableList_Element) GetLeaf() *EnvironmentVariableList_Element_Leaf {
	if x != nil {
		if x, ok := x.Level.(*EnvironmentVariableList_Element_Leaf_); ok {
			return x.Leaf
		}
	}
	return nil
}

func (x *EnvironmentVariableList_Element) GetParent() *core.DecodableReference {
	if x != nil {
		if x, ok := x.Level.(*EnvironmentVariableList_Element_Parent); ok {
			return x.Parent
		}
	}
	return nil
}

type isEnvironmentVariableList_Element_Level interface {
	isEnvironmentVariableList_Element_Level()
}

type EnvironmentVariableList_Element_Leaf_ struct {
	Leaf *EnvironmentVariableList_Element_Leaf `protobuf:"bytes,1,opt,name=leaf,proto3,oneof"`
}

type EnvironmentVariableList_Element_Parent struct {
	Parent *core.DecodableReference `protobuf:"bytes,2,opt,name=parent,proto3,oneof"`
}

func (*EnvironmentVariableList_Element_Leaf_) isEnvironmentVariableList_Element_Level() {}

func (*EnvironmentVariableList_Element_Parent) isEnvironmentVariableList_Element_Level() {}

type EnvironmentVariableList_Element_Leaf struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Value         string                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnvironmentVariableList_Element_Leaf) Reset() {
	*x = EnvironmentVariableList_Element_Leaf{}
	mi := &file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnvironmentVariableList_Element_Leaf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnvironmentVariableList_Element_Leaf) ProtoMessage() {}

func (x *EnvironmentVariableList_Element_Leaf) ProtoReflect() protoreflect.Message {
	mi := &file_bonanza_build_pkg_proto_model_command_command_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)
}

// Deprecated: Use EnvironmentVariableList_Element_Leaf.ProtoReflect.Descriptor instead.
func (*EnvironmentVariableList_Element_Leaf) Descriptor() ([]byte, []int) {
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP(), []int{3, 0, 0}
}

func (x *EnvironmentVariableList_Element_Leaf) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *EnvironmentVariableList_Element_Leaf) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

var File_bonanza_build_pkg_proto_model_command_command_proto protoreflect.FileDescriptor

const file_bonanza_build_pkg_proto_model_command_command_proto_rawDesc = "" +
	"\n" +
	"3bonanza.build/pkg/proto/model/command/command.proto\x12\x15bonanza.model.command\x1a-bonanza.build/pkg/proto/model/core/core.proto\x1a9bonanza.build/pkg/proto/model/filesystem/filesystem.proto\x1a\x19google/protobuf/any.proto\x1a\x17google/rpc/status.proto\"\xe7\x04\n" +
	"\aCommand\x12I\n" +
	"\targuments\x18\x01 \x03(\v2+.bonanza.model.command.ArgumentList.ElementR\targuments\x12k\n" +
	"\x15environment_variables\x18\x02 \x03(\v26.bonanza.model.command.EnvironmentVariableList.ElementR\x14environmentVariables\x12y\n" +
	"\x1ddirectory_creation_parameters\x18\x03 \x01(\v25.bonanza.model.filesystem.DirectoryCreationParametersR\x1bdirectoryCreationParameters\x12j\n" +
	"\x18file_creation_parameters\x18\x04 \x01(\v20.bonanza.model.filesystem.FileCreationParametersR\x16fileCreationParameters\x12R\n" +
	"\x13output_path_pattern\x18\x05 \x01(\v2\".bonanza.model.command.PathPatternR\x11outputPathPattern\x12+\n" +
	"\x11working_directory\x18\x06 \x01(\tR\x10workingDirectory\x12<\n" +
	"\x1bstable_input_root_path_uuid\x18\a \x01(\tR\x17stableInputRootPathUuid\"\xa8\x03\n" +
	"\vPathPattern\x12\x87\x01\n" +
	"\x11children_external\x18\x01 \x01(\v2&.bonanza.model.core.DecodableReferenceB0\xea\xd7 ,\x12*bonanza.model.command.PathPattern.ChildrenH\x00R\x10childrenExternal\x12V\n" +
	"\x0fchildren_inline\x18\x02 \x01(\v2+.bonanza.model.command.PathPattern.ChildrenH\x00R\x0echildrenInline\x1aY\n" +
	"\x05Child\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12<\n" +
	"\apattern\x18\x02 \x01(\v2\".bonanza.model.command.PathPatternR\apattern\x1aP\n" +
	"\bChildren\x12D\n" +
	"\bchildren\x18\x01 \x03(\v2(.bonanza.model.command.PathPattern.ChildR\bchildrenB\n" +
	"\n" +
	"\bchildren\"\xf6\x01\n" +
	"\fArgumentList\x12G\n" +
	"\belements\x18\x01 \x03(\v2+.bonanza.model.command.ArgumentList.ElementR\belements\x1a\x9c\x01\n" +
	"\aElement\x12\x14\n" +
	"\x04leaf\x18\x01 \x01(\tH\x00R\x04leaf\x12r\n" +
	"\x06parent\x18\x02 \x01(\v2&.bonanza.model.core.DecodableReferenceB0\xea\xd7 ,\x1a*bonanza.model.command.ArgumentList.ElementH\x00R\x06parentB\a\n" +
	"\x05level\"\x86\x03\n" +
	"\x17EnvironmentVariableList\x12R\n" +
	"\belements\x18\x01 \x03(\v26.bonanza.model.command.EnvironmentVariableList.ElementR\belements\x1a\x96\x02\n" +
	"\aElement\x12Q\n" +
	"\x04leaf\x18\x01 \x01(\v2;.bonanza.model.command.EnvironmentVariableList.Element.LeafH\x00R\x04leaf\x12}\n" +
	"\x06parent\x18\x02 \x01(\v2&.bonanza.model.core.DecodableReferenceB;\xea\xd7 7\x1a5bonanza.model.command.EnvironmentVariableList.ElementH\x00R\x06parent\x1a0\n" +
	"\x04Leaf\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05valueB\a\n" +
	"\x05level\"\xd7\x01\n" +
	"\aOutputs\x12>\n" +
	"\x06stdout\x18\x01 \x01(\v2&.bonanza.model.filesystem.FileContentsR\x06stdout\x12>\n" +
	"\x06stderr\x18\x02 \x01(\v2&.bonanza.model.filesystem.FileContentsR\x06stderr\x12L\n" +
	"\voutput_root\x18\x03 \x01(\v2+.bonanza.model.filesystem.DirectoryContentsR\n" +
	"outputRoot\"\xe2\x01\n" +
	"\x06Action\x12x\n" +
	"\x11command_reference\x18\x01 \x01(\v2&.bonanza.model.core.DecodableReferenceB#\xea\xd7 \x1f\x12\x1dbonanza.model.command.CommandR\x10commandReference\x12^\n" +
	"\x14input_root_reference\x18\x02 \x01(\v2,.bonanza.model.filesystem.DirectoryReferenceR\x12inputRootReference\"\x97\x03\n" +
	"\x06Result\x12*\n" +
	"\x06status\x18\x01 \x01(\v2\x12.google.rpc.StatusR\x06status\x12\x1b\n" +
	"\texit_code\x18\x02 \x01(\x03R\bexitCode\x12x\n" +
	"\x11outputs_reference\x18\x03 \x01(\v2&.bonanza.model.core.DecodableReferenceB#\xea\xd7 \x1f\x12\x1dbonanza.model.command.OutputsR\x10outputsReference\x12C\n" +
	"\x12auxiliary_metadata\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\x11auxiliaryMetadata\x12H\n" +
	"\tworker_id\x18\x05 \x03(\v2+.bonanza.model.command.Result.WorkerIdEntryR\bworkerId\x1a;\n" +
	"\rWorkerIdEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B'Z%bonanza.build/pkg/proto/model/commandb\x06proto3"

var (
	file_bonanza_build_pkg_proto_model_command_command_proto_rawDescOnce sync.Once
	file_bonanza_build_pkg_proto_model_command_command_proto_rawDescData []byte
)

func file_bonanza_build_pkg_proto_model_command_command_proto_rawDescGZIP() []byte {
	file_bonanza_build_pkg_proto_model_command_command_proto_rawDescOnce.Do(func() {
		file_bonanza_build_pkg_proto_model_command_command_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_bonanza_build_pkg_proto_model_command_command_proto_rawDesc), len(file_bonanza_build_pkg_proto_model_command_command_proto_rawDesc)))
	})
	return file_bonanza_build_pkg_proto_model_command_command_proto_rawDescData
}

var file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_bonanza_build_pkg_proto_model_command_command_proto_goTypes = []any{
	(*Command)(nil),                              // 0: bonanza.model.command.Command
	(*PathPattern)(nil),                          // 1: bonanza.model.command.PathPattern
	(*ArgumentList)(nil),                         // 2: bonanza.model.command.ArgumentList
	(*EnvironmentVariableList)(nil),              // 3: bonanza.model.command.EnvironmentVariableList
	(*Outputs)(nil),                              // 4: bonanza.model.command.Outputs
	(*Action)(nil),                               // 5: bonanza.model.command.Action
	(*Result)(nil),                               // 6: bonanza.model.command.Result
	(*PathPattern_Child)(nil),                    // 7: bonanza.model.command.PathPattern.Child
	(*PathPattern_Children)(nil),                 // 8: bonanza.model.command.PathPattern.Children
	(*ArgumentList_Element)(nil),                 // 9: bonanza.model.command.ArgumentList.Element
	(*EnvironmentVariableList_Element)(nil),      // 10: bonanza.model.command.EnvironmentVariableList.Element
	(*EnvironmentVariableList_Element_Leaf)(nil), // 11: bonanza.model.command.EnvironmentVariableList.Element.Leaf
	nil, // 12: bonanza.model.command.Result.WorkerIdEntry
	(*filesystem.DirectoryCreationParameters)(nil), // 13: bonanza.model.filesystem.DirectoryCreationParameters
	(*filesystem.FileCreationParameters)(nil),      // 14: bonanza.model.filesystem.FileCreationParameters
	(*core.DecodableReference)(nil),                // 15: bonanza.model.core.DecodableReference
	(*filesystem.FileContents)(nil),                // 16: bonanza.model.filesystem.FileContents
	(*filesystem.DirectoryContents)(nil),           // 17: bonanza.model.filesystem.DirectoryContents
	(*filesystem.DirectoryReference)(nil),          // 18: bonanza.model.filesystem.DirectoryReference
	(*status.Status)(nil),                          // 19: google.rpc.Status
	(*anypb.Any)(nil),                              // 20: google.protobuf.Any
}
var file_bonanza_build_pkg_proto_model_command_command_proto_depIdxs = []int32{
	9,  // 0: bonanza.model.command.Command.arguments:type_name -> bonanza.model.command.ArgumentList.Element
	10, // 1: bonanza.model.command.Command.environment_variables:type_name -> bonanza.model.command.EnvironmentVariableList.Element
	13, // 2: bonanza.model.command.Command.directory_creation_parameters:type_name -> bonanza.model.filesystem.DirectoryCreationParameters
	14, // 3: bonanza.model.command.Command.file_creation_parameters:type_name -> bonanza.model.filesystem.FileCreationParameters
	1,  // 4: bonanza.model.command.Command.output_path_pattern:type_name -> bonanza.model.command.PathPattern
	15, // 5: bonanza.model.command.PathPattern.children_external:type_name -> bonanza.model.core.DecodableReference
	8,  // 6: bonanza.model.command.PathPattern.children_inline:type_name -> bonanza.model.command.PathPattern.Children
	9,  // 7: bonanza.model.command.ArgumentList.elements:type_name -> bonanza.model.command.ArgumentList.Element
	10, // 8: bonanza.model.command.EnvironmentVariableList.elements:type_name -> bonanza.model.command.EnvironmentVariableList.Element
	16, // 9: bonanza.model.command.Outputs.stdout:type_name -> bonanza.model.filesystem.FileContents
	16, // 10: bonanza.model.command.Outputs.stderr:type_name -> bonanza.model.filesystem.FileContents
	17, // 11: bonanza.model.command.Outputs.output_root:type_name -> bonanza.model.filesystem.DirectoryContents
	15, // 12: bonanza.model.command.Action.command_reference:type_name -> bonanza.model.core.DecodableReference
	18, // 13: bonanza.model.command.Action.input_root_reference:type_name -> bonanza.model.filesystem.DirectoryReference
	19, // 14: bonanza.model.command.Result.status:type_name -> google.rpc.Status
	15, // 15: bonanza.model.command.Result.outputs_reference:type_name -> bonanza.model.core.DecodableReference
	20, // 16: bonanza.model.command.Result.auxiliary_metadata:type_name -> google.protobuf.Any
	12, // 17: bonanza.model.command.Result.worker_id:type_name -> bonanza.model.command.Result.WorkerIdEntry
	1,  // 18: bonanza.model.command.PathPattern.Child.pattern:type_name -> bonanza.model.command.PathPattern
	7,  // 19: bonanza.model.command.PathPattern.Children.children:type_name -> bonanza.model.command.PathPattern.Child
	15, // 20: bonanza.model.command.ArgumentList.Element.parent:type_name -> bonanza.model.core.DecodableReference
	11, // 21: bonanza.model.command.EnvironmentVariableList.Element.leaf:type_name -> bonanza.model.command.EnvironmentVariableList.Element.Leaf
	15, // 22: bonanza.model.command.EnvironmentVariableList.Element.parent:type_name -> bonanza.model.core.DecodableReference
	23, // [23:23] is the sub-list for method output_type
	23, // [23:23] is the sub-list for method input_type
	23, // [23:23] is the sub-list for extension type_name
	23, // [23:23] is the sub-list for extension extendee
	0,  // [0:23] is the sub-list for field type_name
}

func init() { file_bonanza_build_pkg_proto_model_command_command_proto_init() }
func file_bonanza_build_pkg_proto_model_command_command_proto_init() {
	if File_bonanza_build_pkg_proto_model_command_command_proto != nil {
		return
	}
	file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[1].OneofWrappers = []any{
		(*PathPattern_ChildrenExternal)(nil),
		(*PathPattern_ChildrenInline)(nil),
	}
	file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[9].OneofWrappers = []any{
		(*ArgumentList_Element_Leaf)(nil),
		(*ArgumentList_Element_Parent)(nil),
	}
	file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes[10].OneofWrappers = []any{
		(*EnvironmentVariableList_Element_Leaf_)(nil),
		(*EnvironmentVariableList_Element_Parent)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_bonanza_build_pkg_proto_model_command_command_proto_rawDesc), len(file_bonanza_build_pkg_proto_model_command_command_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   13,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_bonanza_build_pkg_proto_model_command_command_proto_goTypes,
		DependencyIndexes: file_bonanza_build_pkg_proto_model_command_command_proto_depIdxs,
		MessageInfos:      file_bonanza_build_pkg_proto_model_command_command_proto_msgTypes,
	}.Build()
	File_bonanza_build_pkg_proto_model_command_command_proto = out.File
	file_bonanza_build_pkg_proto_model_command_command_proto_goTypes = nil
	file_bonanza_build_pkg_proto_model_command_command_proto_depIdxs = nil
}
