// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: spindle/agent/v1/agent.proto

package agentv1

import (
	_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 Hello struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ProtocolVersion uint32                 `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
	AgentVersion    string                 `protobuf:"bytes,2,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"`
	BootId          string                 `protobuf:"bytes,3,opt,name=boot_id,json=bootId,proto3" json:"boot_id,omitempty"`
	NixVersion      string                 `protobuf:"bytes,4,opt,name=nix_version,json=nixVersion,proto3" json:"nix_version,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*Hello) ProtoMessage() {}

func (x *Hello) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 Hello.ProtoReflect.Descriptor instead.
func (*Hello) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{0}
}

func (x *Hello) GetProtocolVersion() uint32 {
	if x != nil {
		return x.ProtocolVersion
	}
	return 0
}

func (x *Hello) GetAgentVersion() string {
	if x != nil {
		return x.AgentVersion
	}
	return ""
}

func (x *Hello) GetBootId() string {
	if x != nil {
		return x.BootId
	}
	return ""
}

func (x *Hello) GetNixVersion() string {
	if x != nil {
		return x.NixVersion
	}
	return ""
}

type Init struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	JobId                  string                 `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	CacheTrustedPublicKeys []string               `protobuf:"bytes,2,rep,name=cache_trusted_public_keys,json=cacheTrustedPublicKeys,proto3" json:"cache_trusted_public_keys,omitempty"`
	CacheReadProxyPort     uint32                 `protobuf:"varint,3,opt,name=cache_read_proxy_port,json=cacheReadProxyPort,proto3" json:"cache_read_proxy_port,omitempty"`
	CacheUploadProxyPort   uint32                 `protobuf:"varint,4,opt,name=cache_upload_proxy_port,json=cacheUploadProxyPort,proto3" json:"cache_upload_proxy_port,omitempty"`
	DnsProxyPort           uint32                 `protobuf:"varint,5,opt,name=dns_proxy_port,json=dnsProxyPort,proto3" json:"dns_proxy_port,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

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

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

func (*Init) ProtoMessage() {}

func (x *Init) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 Init.ProtoReflect.Descriptor instead.
func (*Init) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{1}
}

func (x *Init) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *Init) GetCacheTrustedPublicKeys() []string {
	if x != nil {
		return x.CacheTrustedPublicKeys
	}
	return nil
}

func (x *Init) GetCacheReadProxyPort() uint32 {
	if x != nil {
		return x.CacheReadProxyPort
	}
	return 0
}

func (x *Init) GetCacheUploadProxyPort() uint32 {
	if x != nil {
		return x.CacheUploadProxyPort
	}
	return 0
}

func (x *Init) GetDnsProxyPort() uint32 {
	if x != nil {
		return x.DnsProxyPort
	}
	return 0
}

type ExecStart struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Argv           []string               `protobuf:"bytes,1,rep,name=argv,proto3" json:"argv,omitempty"`
	Env            []string               `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"`
	Cwd            string                 `protobuf:"bytes,3,opt,name=cwd,proto3" json:"cwd,omitempty"`
	User           string                 `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"`
	TimeoutSeconds uint32                 `protobuf:"varint,5,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*ExecStart) ProtoMessage() {}

func (x *ExecStart) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 ExecStart.ProtoReflect.Descriptor instead.
func (*ExecStart) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{2}
}

func (x *ExecStart) GetArgv() []string {
	if x != nil {
		return x.Argv
	}
	return nil
}

func (x *ExecStart) GetEnv() []string {
	if x != nil {
		return x.Env
	}
	return nil
}

func (x *ExecStart) GetCwd() string {
	if x != nil {
		return x.Cwd
	}
	return ""
}

func (x *ExecStart) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *ExecStart) GetTimeoutSeconds() uint32 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

type ExecStdout struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          string                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ExecStdout) ProtoMessage() {}

func (x *ExecStdout) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 ExecStdout.ProtoReflect.Descriptor instead.
func (*ExecStdout) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{3}
}

func (x *ExecStdout) GetData() string {
	if x != nil {
		return x.Data
	}
	return ""
}

type ExecStderr struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          string                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ExecStderr) ProtoMessage() {}

func (x *ExecStderr) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 ExecStderr.ProtoReflect.Descriptor instead.
func (*ExecStderr) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{4}
}

func (x *ExecStderr) GetData() string {
	if x != nil {
		return x.Data
	}
	return ""
}

type ExecExit struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	ExitCode int32                  `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	Error    string                 `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// set when the guest killed the step on its own timeout timer, so the host
	// can classify it as a timeout rather than inferring failure from exit_code.
	TimedOut      bool `protobuf:"varint,3,opt,name=timed_out,json=timedOut,proto3" json:"timed_out,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ExecExit) ProtoMessage() {}

func (x *ExecExit) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 ExecExit.ProtoReflect.Descriptor instead.
func (*ExecExit) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{5}
}

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

func (x *ExecExit) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

func (x *ExecExit) GetTimedOut() bool {
	if x != nil {
		return x.TimedOut
	}
	return false
}

type ActivateConfig struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ConfigKey      string                 `protobuf:"bytes,1,opt,name=config_key,json=configKey,proto3" json:"config_key,omitempty"`
	BaseConfigHash string                 `protobuf:"bytes,2,opt,name=base_config_hash,json=baseConfigHash,proto3" json:"base_config_hash,omitempty"`
	UserConfig     string                 `protobuf:"bytes,3,opt,name=user_config,json=userConfig,proto3" json:"user_config,omitempty"`
	Toplevel       string                 `protobuf:"bytes,4,opt,name=toplevel,proto3" json:"toplevel,omitempty"`
	TimeoutSeconds uint32                 `protobuf:"varint,5,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*ActivateConfig) ProtoMessage() {}

func (x *ActivateConfig) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 ActivateConfig.ProtoReflect.Descriptor instead.
func (*ActivateConfig) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{6}
}

func (x *ActivateConfig) GetConfigKey() string {
	if x != nil {
		return x.ConfigKey
	}
	return ""
}

func (x *ActivateConfig) GetBaseConfigHash() string {
	if x != nil {
		return x.BaseConfigHash
	}
	return ""
}

func (x *ActivateConfig) GetUserConfig() string {
	if x != nil {
		return x.UserConfig
	}
	return ""
}

func (x *ActivateConfig) GetToplevel() string {
	if x != nil {
		return x.Toplevel
	}
	return ""
}

func (x *ActivateConfig) GetTimeoutSeconds() uint32 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

type ActivateConfigResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ConfigKey     string                 `protobuf:"bytes,1,opt,name=config_key,json=configKey,proto3" json:"config_key,omitempty"`
	Toplevel      string                 `protobuf:"bytes,2,opt,name=toplevel,proto3" json:"toplevel,omitempty"`
	Error         string                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ActivateConfigResult) ProtoMessage() {}

func (x *ActivateConfigResult) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 ActivateConfigResult.ProtoReflect.Descriptor instead.
func (*ActivateConfigResult) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{7}
}

func (x *ActivateConfigResult) GetConfigKey() string {
	if x != nil {
		return x.ConfigKey
	}
	return ""
}

func (x *ActivateConfigResult) GetToplevel() string {
	if x != nil {
		return x.Toplevel
	}
	return ""
}

func (x *ActivateConfigResult) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type BuiltPaths struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Paths         []string               `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
	Reason        string                 `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BuiltPaths) ProtoMessage() {}

func (x *BuiltPaths) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 BuiltPaths.ProtoReflect.Descriptor instead.
func (*BuiltPaths) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{8}
}

func (x *BuiltPaths) GetPaths() []string {
	if x != nil {
		return x.Paths
	}
	return nil
}

func (x *BuiltPaths) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type CacheDrain struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	TimeoutSeconds uint32                 `protobuf:"varint,1,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*CacheDrain) ProtoMessage() {}

func (x *CacheDrain) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 CacheDrain.ProtoReflect.Descriptor instead.
func (*CacheDrain) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{9}
}

func (x *CacheDrain) GetTimeoutSeconds() uint32 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

type CacheDrainResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Error         string                 `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	CacheQueued   uint32                 `protobuf:"varint,2,opt,name=cache_queued,json=cacheQueued,proto3" json:"cache_queued,omitempty"`
	CacheActive   uint32                 `protobuf:"varint,3,opt,name=cache_active,json=cacheActive,proto3" json:"cache_active,omitempty"`
	CacheUploaded uint32                 `protobuf:"varint,4,opt,name=cache_uploaded,json=cacheUploaded,proto3" json:"cache_uploaded,omitempty"`
	CacheFailed   uint32                 `protobuf:"varint,5,opt,name=cache_failed,json=cacheFailed,proto3" json:"cache_failed,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CacheDrainResult) ProtoMessage() {}

func (x *CacheDrainResult) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 CacheDrainResult.ProtoReflect.Descriptor instead.
func (*CacheDrainResult) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{10}
}

func (x *CacheDrainResult) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

func (x *CacheDrainResult) GetCacheQueued() uint32 {
	if x != nil {
		return x.CacheQueued
	}
	return 0
}

func (x *CacheDrainResult) GetCacheActive() uint32 {
	if x != nil {
		return x.CacheActive
	}
	return 0
}

func (x *CacheDrainResult) GetCacheUploaded() uint32 {
	if x != nil {
		return x.CacheUploaded
	}
	return 0
}

func (x *CacheDrainResult) GetCacheFailed() uint32 {
	if x != nil {
		return x.CacheFailed
	}
	return 0
}

type Poweroff struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Poweroff) ProtoMessage() {}

func (x *Poweroff) ProtoReflect() protoreflect.Message {
	mi := &file_spindle_agent_v1_agent_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 Poweroff.ProtoReflect.Descriptor instead.
func (*Poweroff) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{11}
}

type PoweroffResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Error         string                 `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PoweroffResult) Reset() {
	*x = PoweroffResult{}
	mi := &file_spindle_agent_v1_agent_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PoweroffResult) ProtoMessage() {}

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

// Deprecated: Use PoweroffResult.ProtoReflect.Descriptor instead.
func (*PoweroffResult) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{12}
}

func (x *PoweroffResult) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type Message struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	Id                   string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Hello                *Hello                 `protobuf:"bytes,2,opt,name=hello,proto3" json:"hello,omitempty"`
	Init                 *Init                  `protobuf:"bytes,3,opt,name=init,proto3" json:"init,omitempty"`
	ExecStart            *ExecStart             `protobuf:"bytes,4,opt,name=exec_start,json=execStart,proto3" json:"exec_start,omitempty"`
	ExecStdout           *ExecStdout            `protobuf:"bytes,5,opt,name=exec_stdout,json=execStdout,proto3" json:"exec_stdout,omitempty"`
	ExecStderr           *ExecStderr            `protobuf:"bytes,6,opt,name=exec_stderr,json=execStderr,proto3" json:"exec_stderr,omitempty"`
	ExecExit             *ExecExit              `protobuf:"bytes,7,opt,name=exec_exit,json=execExit,proto3" json:"exec_exit,omitempty"`
	ActivateConfig       *ActivateConfig        `protobuf:"bytes,8,opt,name=activate_config,json=activateConfig,proto3" json:"activate_config,omitempty"`
	ActivateConfigResult *ActivateConfigResult  `protobuf:"bytes,9,opt,name=activate_config_result,json=activateConfigResult,proto3" json:"activate_config_result,omitempty"`
	BuiltPaths           *BuiltPaths            `protobuf:"bytes,10,opt,name=built_paths,json=builtPaths,proto3" json:"built_paths,omitempty"`
	CacheDrain           *CacheDrain            `protobuf:"bytes,11,opt,name=cache_drain,json=cacheDrain,proto3" json:"cache_drain,omitempty"`
	CacheDrainResult     *CacheDrainResult      `protobuf:"bytes,12,opt,name=cache_drain_result,json=cacheDrainResult,proto3" json:"cache_drain_result,omitempty"`
	Poweroff             *Poweroff              `protobuf:"bytes,13,opt,name=poweroff,proto3" json:"poweroff,omitempty"`
	PoweroffResult       *PoweroffResult        `protobuf:"bytes,14,opt,name=poweroff_result,json=poweroffResult,proto3" json:"poweroff_result,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *Message) Reset() {
	*x = Message{}
	mi := &file_spindle_agent_v1_agent_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Message) ProtoMessage() {}

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

// Deprecated: Use Message.ProtoReflect.Descriptor instead.
func (*Message) Descriptor() ([]byte, []int) {
	return file_spindle_agent_v1_agent_proto_rawDescGZIP(), []int{13}
}

func (x *Message) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Message) GetHello() *Hello {
	if x != nil {
		return x.Hello
	}
	return nil
}

func (x *Message) GetInit() *Init {
	if x != nil {
		return x.Init
	}
	return nil
}

func (x *Message) GetExecStart() *ExecStart {
	if x != nil {
		return x.ExecStart
	}
	return nil
}

func (x *Message) GetExecStdout() *ExecStdout {
	if x != nil {
		return x.ExecStdout
	}
	return nil
}

func (x *Message) GetExecStderr() *ExecStderr {
	if x != nil {
		return x.ExecStderr
	}
	return nil
}

func (x *Message) GetExecExit() *ExecExit {
	if x != nil {
		return x.ExecExit
	}
	return nil
}

func (x *Message) GetActivateConfig() *ActivateConfig {
	if x != nil {
		return x.ActivateConfig
	}
	return nil
}

func (x *Message) GetActivateConfigResult() *ActivateConfigResult {
	if x != nil {
		return x.ActivateConfigResult
	}
	return nil
}

func (x *Message) GetBuiltPaths() *BuiltPaths {
	if x != nil {
		return x.BuiltPaths
	}
	return nil
}

func (x *Message) GetCacheDrain() *CacheDrain {
	if x != nil {
		return x.CacheDrain
	}
	return nil
}

func (x *Message) GetCacheDrainResult() *CacheDrainResult {
	if x != nil {
		return x.CacheDrainResult
	}
	return nil
}

func (x *Message) GetPoweroff() *Poweroff {
	if x != nil {
		return x.Poweroff
	}
	return nil
}

func (x *Message) GetPoweroffResult() *PoweroffResult {
	if x != nil {
		return x.PoweroffResult
	}
	return nil
}

var File_spindle_agent_v1_agent_proto protoreflect.FileDescriptor

const file_spindle_agent_v1_agent_proto_rawDesc = "" +
	"\n" +
	"\x1cspindle/agent/v1/agent.proto\x12\x10spindle.agent.v1\x1a\x1bbuf/validate/validate.proto\"\x91\x01\n" +
	"\x05Hello\x12)\n" +
	"\x10protocol_version\x18\x01 \x01(\rR\x0fprotocolVersion\x12#\n" +
	"\ragent_version\x18\x02 \x01(\tR\fagentVersion\x12\x17\n" +
	"\aboot_id\x18\x03 \x01(\tR\x06bootId\x12\x1f\n" +
	"\vnix_version\x18\x04 \x01(\tR\n" +
	"nixVersion\"\xe8\x01\n" +
	"\x04Init\x12\x15\n" +
	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x129\n" +
	"\x19cache_trusted_public_keys\x18\x02 \x03(\tR\x16cacheTrustedPublicKeys\x121\n" +
	"\x15cache_read_proxy_port\x18\x03 \x01(\rR\x12cacheReadProxyPort\x125\n" +
	"\x17cache_upload_proxy_port\x18\x04 \x01(\rR\x14cacheUploadProxyPort\x12$\n" +
	"\x0edns_proxy_port\x18\x05 \x01(\rR\fdnsProxyPort\"\x80\x01\n" +
	"\tExecStart\x12\x12\n" +
	"\x04argv\x18\x01 \x03(\tR\x04argv\x12\x10\n" +
	"\x03env\x18\x02 \x03(\tR\x03env\x12\x10\n" +
	"\x03cwd\x18\x03 \x01(\tR\x03cwd\x12\x12\n" +
	"\x04user\x18\x04 \x01(\tR\x04user\x12'\n" +
	"\x0ftimeout_seconds\x18\x05 \x01(\rR\x0etimeoutSeconds\" \n" +
	"\n" +
	"ExecStdout\x12\x12\n" +
	"\x04data\x18\x01 \x01(\tR\x04data\" \n" +
	"\n" +
	"ExecStderr\x12\x12\n" +
	"\x04data\x18\x01 \x01(\tR\x04data\"Z\n" +
	"\bExecExit\x12\x1b\n" +
	"\texit_code\x18\x01 \x01(\x05R\bexitCode\x12\x14\n" +
	"\x05error\x18\x02 \x01(\tR\x05error\x12\x1b\n" +
	"\ttimed_out\x18\x03 \x01(\bR\btimedOut\"\xbf\x01\n" +
	"\x0eActivateConfig\x12\x1d\n" +
	"\n" +
	"config_key\x18\x01 \x01(\tR\tconfigKey\x12(\n" +
	"\x10base_config_hash\x18\x02 \x01(\tR\x0ebaseConfigHash\x12\x1f\n" +
	"\vuser_config\x18\x03 \x01(\tR\n" +
	"userConfig\x12\x1a\n" +
	"\btoplevel\x18\x04 \x01(\tR\btoplevel\x12'\n" +
	"\x0ftimeout_seconds\x18\x05 \x01(\rR\x0etimeoutSeconds\"g\n" +
	"\x14ActivateConfigResult\x12\x1d\n" +
	"\n" +
	"config_key\x18\x01 \x01(\tR\tconfigKey\x12\x1a\n" +
	"\btoplevel\x18\x02 \x01(\tR\btoplevel\x12\x14\n" +
	"\x05error\x18\x03 \x01(\tR\x05error\":\n" +
	"\n" +
	"BuiltPaths\x12\x14\n" +
	"\x05paths\x18\x01 \x03(\tR\x05paths\x12\x16\n" +
	"\x06reason\x18\x02 \x01(\tR\x06reason\"5\n" +
	"\n" +
	"CacheDrain\x12'\n" +
	"\x0ftimeout_seconds\x18\x01 \x01(\rR\x0etimeoutSeconds\"\xb8\x01\n" +
	"\x10CacheDrainResult\x12\x14\n" +
	"\x05error\x18\x01 \x01(\tR\x05error\x12!\n" +
	"\fcache_queued\x18\x02 \x01(\rR\vcacheQueued\x12!\n" +
	"\fcache_active\x18\x03 \x01(\rR\vcacheActive\x12%\n" +
	"\x0ecache_uploaded\x18\x04 \x01(\rR\rcacheUploaded\x12!\n" +
	"\fcache_failed\x18\x05 \x01(\rR\vcacheFailed\"\n" +
	"\n" +
	"\bPoweroff\"&\n" +
	"\x0ePoweroffResult\x12\x14\n" +
	"\x05error\x18\x01 \x01(\tR\x05error\"\xa8\b\n" +
	"\aMessage\x12\x17\n" +
	"\x02id\x18\x01 \x01(\tB\a\xbaH\x04r\x02\x10\x01R\x02id\x12-\n" +
	"\x05hello\x18\x02 \x01(\v2\x17.spindle.agent.v1.HelloR\x05hello\x12*\n" +
	"\x04init\x18\x03 \x01(\v2\x16.spindle.agent.v1.InitR\x04init\x12:\n" +
	"\n" +
	"exec_start\x18\x04 \x01(\v2\x1b.spindle.agent.v1.ExecStartR\texecStart\x12=\n" +
	"\vexec_stdout\x18\x05 \x01(\v2\x1c.spindle.agent.v1.ExecStdoutR\n" +
	"execStdout\x12=\n" +
	"\vexec_stderr\x18\x06 \x01(\v2\x1c.spindle.agent.v1.ExecStderrR\n" +
	"execStderr\x127\n" +
	"\texec_exit\x18\a \x01(\v2\x1a.spindle.agent.v1.ExecExitR\bexecExit\x12I\n" +
	"\x0factivate_config\x18\b \x01(\v2 .spindle.agent.v1.ActivateConfigR\x0eactivateConfig\x12\\\n" +
	"\x16activate_config_result\x18\t \x01(\v2&.spindle.agent.v1.ActivateConfigResultR\x14activateConfigResult\x12=\n" +
	"\vbuilt_paths\x18\n" +
	" \x01(\v2\x1c.spindle.agent.v1.BuiltPathsR\n" +
	"builtPaths\x12=\n" +
	"\vcache_drain\x18\v \x01(\v2\x1c.spindle.agent.v1.CacheDrainR\n" +
	"cacheDrain\x12P\n" +
	"\x12cache_drain_result\x18\f \x01(\v2\".spindle.agent.v1.CacheDrainResultR\x10cacheDrainResult\x126\n" +
	"\bpoweroff\x18\r \x01(\v2\x1a.spindle.agent.v1.PoweroffR\bpoweroff\x12I\n" +
	"\x0fpoweroff_result\x18\x0e \x01(\v2 .spindle.agent.v1.PoweroffResultR\x0epoweroffResult:\xb9\x01\xbaH\xb5\x01\"\xb2\x01\n" +
	"\x05hello\n" +
	"\x04init\n" +
	"\n" +
	"exec_start\n" +
	"\vexec_stdout\n" +
	"\vexec_stderr\n" +
	"\texec_exit\n" +
	"\x0factivate_config\n" +
	"\x16activate_config_result\n" +
	"\vbuilt_paths\n" +
	"\vcache_drain\n" +
	"\x12cache_drain_result\n" +
	"\bpoweroff\n" +
	"\x0fpoweroff_result\x10\x01B1Z/tangled.org/core/spindle/agentproto/gen;agentv1b\x06proto3"

var (
	file_spindle_agent_v1_agent_proto_rawDescOnce sync.Once
	file_spindle_agent_v1_agent_proto_rawDescData []byte
)

func file_spindle_agent_v1_agent_proto_rawDescGZIP() []byte {
	file_spindle_agent_v1_agent_proto_rawDescOnce.Do(func() {
		file_spindle_agent_v1_agent_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_spindle_agent_v1_agent_proto_rawDesc), len(file_spindle_agent_v1_agent_proto_rawDesc)))
	})
	return file_spindle_agent_v1_agent_proto_rawDescData
}

var file_spindle_agent_v1_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_spindle_agent_v1_agent_proto_goTypes = []any{
	(*Hello)(nil),                // 0: spindle.agent.v1.Hello
	(*Init)(nil),                 // 1: spindle.agent.v1.Init
	(*ExecStart)(nil),            // 2: spindle.agent.v1.ExecStart
	(*ExecStdout)(nil),           // 3: spindle.agent.v1.ExecStdout
	(*ExecStderr)(nil),           // 4: spindle.agent.v1.ExecStderr
	(*ExecExit)(nil),             // 5: spindle.agent.v1.ExecExit
	(*ActivateConfig)(nil),       // 6: spindle.agent.v1.ActivateConfig
	(*ActivateConfigResult)(nil), // 7: spindle.agent.v1.ActivateConfigResult
	(*BuiltPaths)(nil),           // 8: spindle.agent.v1.BuiltPaths
	(*CacheDrain)(nil),           // 9: spindle.agent.v1.CacheDrain
	(*CacheDrainResult)(nil),     // 10: spindle.agent.v1.CacheDrainResult
	(*Poweroff)(nil),             // 11: spindle.agent.v1.Poweroff
	(*PoweroffResult)(nil),       // 12: spindle.agent.v1.PoweroffResult
	(*Message)(nil),              // 13: spindle.agent.v1.Message
}
var file_spindle_agent_v1_agent_proto_depIdxs = []int32{
	0,  // 0: spindle.agent.v1.Message.hello:type_name -> spindle.agent.v1.Hello
	1,  // 1: spindle.agent.v1.Message.init:type_name -> spindle.agent.v1.Init
	2,  // 2: spindle.agent.v1.Message.exec_start:type_name -> spindle.agent.v1.ExecStart
	3,  // 3: spindle.agent.v1.Message.exec_stdout:type_name -> spindle.agent.v1.ExecStdout
	4,  // 4: spindle.agent.v1.Message.exec_stderr:type_name -> spindle.agent.v1.ExecStderr
	5,  // 5: spindle.agent.v1.Message.exec_exit:type_name -> spindle.agent.v1.ExecExit
	6,  // 6: spindle.agent.v1.Message.activate_config:type_name -> spindle.agent.v1.ActivateConfig
	7,  // 7: spindle.agent.v1.Message.activate_config_result:type_name -> spindle.agent.v1.ActivateConfigResult
	8,  // 8: spindle.agent.v1.Message.built_paths:type_name -> spindle.agent.v1.BuiltPaths
	9,  // 9: spindle.agent.v1.Message.cache_drain:type_name -> spindle.agent.v1.CacheDrain
	10, // 10: spindle.agent.v1.Message.cache_drain_result:type_name -> spindle.agent.v1.CacheDrainResult
	11, // 11: spindle.agent.v1.Message.poweroff:type_name -> spindle.agent.v1.Poweroff
	12, // 12: spindle.agent.v1.Message.poweroff_result:type_name -> spindle.agent.v1.PoweroffResult
	13, // [13:13] is the sub-list for method output_type
	13, // [13:13] is the sub-list for method input_type
	13, // [13:13] is the sub-list for extension type_name
	13, // [13:13] is the sub-list for extension extendee
	0,  // [0:13] is the sub-list for field type_name
}

func init() { file_spindle_agent_v1_agent_proto_init() }
func file_spindle_agent_v1_agent_proto_init() {
	if File_spindle_agent_v1_agent_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_spindle_agent_v1_agent_proto_rawDesc), len(file_spindle_agent_v1_agent_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   14,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_spindle_agent_v1_agent_proto_goTypes,
		DependencyIndexes: file_spindle_agent_v1_agent_proto_depIdxs,
		MessageInfos:      file_spindle_agent_v1_agent_proto_msgTypes,
	}.Build()
	File_spindle_agent_v1_agent_proto = out.File
	file_spindle_agent_v1_agent_proto_goTypes = nil
	file_spindle_agent_v1_agent_proto_depIdxs = nil
}
