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

package api

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

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)
)

// PingResponse identifies the remote-provision server.
type PingResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// server_version is the talosctl version backing the server.
	ServerVersion string `protobuf:"bytes,1,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"`
	// host_arch is the server's architecture ("amd64" / "arm64"). Clients
	// target this arch for remote cluster creation.
	HostArch      string `protobuf:"bytes,2,opt,name=host_arch,json=hostArch,proto3" json:"host_arch,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PingResponse) ProtoMessage() {}

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

func (x *PingResponse) GetServerVersion() string {
	if x != nil {
		return x.ServerVersion
	}
	return ""
}

func (x *PingResponse) GetHostArch() string {
	if x != nil {
		return x.HostArch
	}
	return ""
}

// CreateRequest carries a JSON-encoded provision.ClusterRequest plus
// references to artifacts the server should resolve to canonical paths
// before passing the request to the QEMU provisioner.
type CreateRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cluster_request is a JSON-encoded provision.ClusterRequest.
	ClusterRequest []byte `protobuf:"bytes,1,opt,name=cluster_request,json=clusterRequest,proto3" json:"cluster_request,omitempty"`
	// artifact_paths maps logical artifact names (kernel, initramfs, iso,
	// usb, uki, diskimage, ipxe) to canonical paths on the server. The
	// client populates these after uploading the corresponding local files.
	// URL-valued entries are skipped and fetched server-side instead.
	ArtifactPaths map[string]string `protobuf:"bytes,2,rep,name=artifact_paths,json=artifactPaths,proto3" json:"artifact_paths,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// options is a JSON-encoded subset of provision.Options (UEFI, TPM,
	// bootloader, etc.). The server reconstructs the provision.Option list
	// from it; non-serializable fields (LogWriter, Talos client) are set
	// server-side.
	Options       []byte `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateRequest) ProtoMessage() {}

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

func (x *CreateRequest) GetClusterRequest() []byte {
	if x != nil {
		return x.ClusterRequest
	}
	return nil
}

func (x *CreateRequest) GetArtifactPaths() map[string]string {
	if x != nil {
		return x.ArtifactPaths
	}
	return nil
}

func (x *CreateRequest) GetOptions() []byte {
	if x != nil {
		return x.Options
	}
	return nil
}

// CreateEvent is one frame of the Create stream.
type CreateEvent struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Event:
	//
	//	*CreateEvent_Status
	//	*CreateEvent_Warning
	//	*CreateEvent_Cluster
	Event         isCreateEvent_Event `protobuf_oneof:"event"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateEvent) ProtoMessage() {}

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

func (x *CreateEvent) GetEvent() isCreateEvent_Event {
	if x != nil {
		return x.Event
	}
	return nil
}

func (x *CreateEvent) GetStatus() string {
	if x != nil {
		if x, ok := x.Event.(*CreateEvent_Status); ok {
			return x.Status
		}
	}
	return ""
}

func (x *CreateEvent) GetWarning() string {
	if x != nil {
		if x, ok := x.Event.(*CreateEvent_Warning); ok {
			return x.Warning
		}
	}
	return ""
}

func (x *CreateEvent) GetCluster() []byte {
	if x != nil {
		if x, ok := x.Event.(*CreateEvent_Cluster); ok {
			return x.Cluster
		}
	}
	return nil
}

type isCreateEvent_Event interface {
	isCreateEvent_Event()
}

type CreateEvent_Status struct {
	// status is a human-readable progress line.
	Status string `protobuf:"bytes,1,opt,name=status,proto3,oneof"`
}

type CreateEvent_Warning struct {
	// warning is a human-readable non-fatal warning.
	Warning string `protobuf:"bytes,2,opt,name=warning,proto3,oneof"`
}

type CreateEvent_Cluster struct {
	// cluster is the JSON-encoded provision.Cluster — emitted as the
	// terminal event on success.
	Cluster []byte `protobuf:"bytes,3,opt,name=cluster,proto3,oneof"`
}

func (*CreateEvent_Status) isCreateEvent_Event() {}

func (*CreateEvent_Warning) isCreateEvent_Event() {}

func (*CreateEvent_Cluster) isCreateEvent_Event() {}

// DestroyRequest identifies the cluster to tear down.
type DestroyRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cluster_name identifies the cluster on the server's state directory.
	ClusterName   string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DestroyRequest) ProtoMessage() {}

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

func (x *DestroyRequest) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

// DestroyResponse is empty on success.
type DestroyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DestroyResponse) ProtoMessage() {}

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

// ReflectRequest looks up a cluster by name.
type ReflectRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ClusterName   string                 `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReflectRequest) ProtoMessage() {}

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

func (x *ReflectRequest) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

// ReflectResponse returns the JSON-encoded provision.Cluster.
type ReflectResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Cluster       []byte                 `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReflectResponse) ProtoMessage() {}

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

func (x *ReflectResponse) GetCluster() []byte {
	if x != nil {
		return x.Cluster
	}
	return nil
}

// LogsRequest identifies machine logs to stream.
type LogsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cluster_name is the cluster the machine(s) belong to.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// machine_name is the node name (e.g. "talos-default-controlplane-1").
	// Empty means stream every machine in the cluster.
	MachineName string `protobuf:"bytes,2,opt,name=machine_name,json=machineName,proto3" json:"machine_name,omitempty"`
	// follow keeps the stream open and tails new output (tail -F).
	Follow        bool `protobuf:"varint,3,opt,name=follow,proto3" json:"follow,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LogsRequest) ProtoMessage() {}

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

func (x *LogsRequest) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

func (x *LogsRequest) GetMachineName() string {
	if x != nil {
		return x.MachineName
	}
	return ""
}

func (x *LogsRequest) GetFollow() bool {
	if x != nil {
		return x.Follow
	}
	return false
}

// LogData is one console log line tagged with its source machine.
type LogData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// machine_name is the node the line came from.
	MachineName string `protobuf:"bytes,1,opt,name=machine_name,json=machineName,proto3" json:"machine_name,omitempty"`
	// line is a single console log line (no trailing newline).
	Line          string `protobuf:"bytes,2,opt,name=line,proto3" json:"line,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LogData) ProtoMessage() {}

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

func (x *LogData) GetMachineName() string {
	if x != nil {
		return x.MachineName
	}
	return ""
}

func (x *LogData) GetLine() string {
	if x != nil {
		return x.Line
	}
	return ""
}

// StatArtifactRequest asks whether a content-addressed artifact is cached.
type StatArtifactRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// sha256 is the lowercase hex digest of the artifact.
	Sha256        string `protobuf:"bytes,1,opt,name=sha256,proto3" json:"sha256,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StatArtifactRequest) ProtoMessage() {}

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

func (x *StatArtifactRequest) GetSha256() string {
	if x != nil {
		return x.Sha256
	}
	return ""
}

// StatArtifactResponse reports artifact cache status.
type StatArtifactResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// exists is true when the artifact is already cached.
	Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"`
	// path is the canonical server path when exists is true.
	Path          string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StatArtifactResponse) ProtoMessage() {}

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

func (x *StatArtifactResponse) GetExists() bool {
	if x != nil {
		return x.Exists
	}
	return false
}

func (x *StatArtifactResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

// ArtifactChunk is one frame of an UploadArtifact stream: the first frame
// carries sha256, the rest carry data.
type ArtifactChunk struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Payload:
	//
	//	*ArtifactChunk_Sha256
	//	*ArtifactChunk_Data
	Payload       isArtifactChunk_Payload `protobuf_oneof:"payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ArtifactChunk) ProtoMessage() {}

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

func (x *ArtifactChunk) GetPayload() isArtifactChunk_Payload {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *ArtifactChunk) GetSha256() string {
	if x != nil {
		if x, ok := x.Payload.(*ArtifactChunk_Sha256); ok {
			return x.Sha256
		}
	}
	return ""
}

func (x *ArtifactChunk) GetData() []byte {
	if x != nil {
		if x, ok := x.Payload.(*ArtifactChunk_Data); ok {
			return x.Data
		}
	}
	return nil
}

type isArtifactChunk_Payload interface {
	isArtifactChunk_Payload()
}

type ArtifactChunk_Sha256 struct {
	// sha256 is the lowercase hex digest; sent once, as the first frame.
	Sha256 string `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"`
}

type ArtifactChunk_Data struct {
	// data is a slice of artifact bytes.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
}

func (*ArtifactChunk_Sha256) isArtifactChunk_Payload() {}

func (*ArtifactChunk_Data) isArtifactChunk_Payload() {}

// ArtifactRef is the canonical server path of an uploaded artifact.
type ArtifactRef struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Path          string                 `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ArtifactRef) ProtoMessage() {}

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

func (x *ArtifactRef) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

// SyncBootArtifactsRequest updates content-addressed boot artifact references
// for an existing cluster. artifact_paths accepts only kernel and initramfs.
type SyncBootArtifactsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ClusterName   string                 `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	ArtifactPaths map[string]string      `protobuf:"bytes,2,rep,name=artifact_paths,json=artifactPaths,proto3" json:"artifact_paths,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SyncBootArtifactsRequest) ProtoMessage() {}

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

func (x *SyncBootArtifactsRequest) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

func (x *SyncBootArtifactsRequest) GetArtifactPaths() map[string]string {
	if x != nil {
		return x.ArtifactPaths
	}
	return nil
}

// SyncBootArtifactsResponse reports which stable references changed.
type SyncBootArtifactsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Changed       map[string]bool        `protobuf:"bytes,1,rep,name=changed,proto3" json:"changed,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SyncBootArtifactsResponse) Reset() {
	*x = SyncBootArtifactsResponse{}
	mi := &file_remoteprovision_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SyncBootArtifactsResponse) ProtoMessage() {}

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

// Deprecated: Use SyncBootArtifactsResponse.ProtoReflect.Descriptor instead.
func (*SyncBootArtifactsResponse) Descriptor() ([]byte, []int) {
	return file_remoteprovision_proto_rawDescGZIP(), []int{14}
}

func (x *SyncBootArtifactsResponse) GetChanged() map[string]bool {
	if x != nil {
		return x.Changed
	}
	return nil
}

// RebootRequest identifies one QEMU node to forcefully restart.
type RebootRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ClusterName   string                 `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	MachineName   string                 `protobuf:"bytes,2,opt,name=machine_name,json=machineName,proto3" json:"machine_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RebootRequest) Reset() {
	*x = RebootRequest{}
	mi := &file_remoteprovision_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RebootRequest) ProtoMessage() {}

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

// Deprecated: Use RebootRequest.ProtoReflect.Descriptor instead.
func (*RebootRequest) Descriptor() ([]byte, []int) {
	return file_remoteprovision_proto_rawDescGZIP(), []int{15}
}

func (x *RebootRequest) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

func (x *RebootRequest) GetMachineName() string {
	if x != nil {
		return x.MachineName
	}
	return ""
}

// RebootResponse is empty on success.
type RebootResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RebootResponse) Reset() {
	*x = RebootResponse{}
	mi := &file_remoteprovision_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RebootResponse) ProtoMessage() {}

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

// ProbeHTTPRequest describes a bounded HTTP GET through the provisioner host FIB.
type ProbeHTTPRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cluster_name identifies an existing cluster whose fabric is being probed.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// ip is a literal IPv4 or IPv6 destination; hostnames are rejected.
	Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
	// port is the destination TCP port and must be in the range 1-65535.
	Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	// path is the HTTP request path and must start with '/'.
	Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
	// timeout_millis is clamped by the server to the supported bounds.
	TimeoutMillis uint32 `protobuf:"varint,5,opt,name=timeout_millis,json=timeoutMillis,proto3" json:"timeout_millis,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProbeHTTPRequest) Reset() {
	*x = ProbeHTTPRequest{}
	mi := &file_remoteprovision_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProbeHTTPRequest) ProtoMessage() {}

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

func (x *ProbeHTTPRequest) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

func (x *ProbeHTTPRequest) GetIp() string {
	if x != nil {
		return x.Ip
	}
	return ""
}

func (x *ProbeHTTPRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *ProbeHTTPRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *ProbeHTTPRequest) GetTimeoutMillis() uint32 {
	if x != nil {
		return x.TimeoutMillis
	}
	return 0
}

// ProbeHTTPResult is a bounded HTTP response. Non-2xx status codes remain HTTP results.
type ProbeHTTPResult struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	StatusCode int32                  `protobuf:"varint,1,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
	// body is truncated to the provisioner's maximum response size.
	Body          []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProbeHTTPResult) Reset() {
	*x = ProbeHTTPResult{}
	mi := &file_remoteprovision_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProbeHTTPResult) ProtoMessage() {}

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

func (x *ProbeHTTPResult) GetStatusCode() int32 {
	if x != nil {
		return x.StatusCode
	}
	return 0
}

func (x *ProbeHTTPResult) GetBody() []byte {
	if x != nil {
		return x.Body
	}
	return nil
}

// ProbeHTTPResponse distinguishes an HTTP response from an expected transport failure.
type ProbeHTTPResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Outcome:
	//
	//	*ProbeHTTPResponse_Result
	//	*ProbeHTTPResponse_Failure
	Outcome       isProbeHTTPResponse_Outcome `protobuf_oneof:"outcome"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProbeHTTPResponse) Reset() {
	*x = ProbeHTTPResponse{}
	mi := &file_remoteprovision_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProbeHTTPResponse) ProtoMessage() {}

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

func (x *ProbeHTTPResponse) GetOutcome() isProbeHTTPResponse_Outcome {
	if x != nil {
		return x.Outcome
	}
	return nil
}

func (x *ProbeHTTPResponse) GetResult() *ProbeHTTPResult {
	if x != nil {
		if x, ok := x.Outcome.(*ProbeHTTPResponse_Result); ok {
			return x.Result
		}
	}
	return nil
}

func (x *ProbeHTTPResponse) GetFailure() string {
	if x != nil {
		if x, ok := x.Outcome.(*ProbeHTTPResponse_Failure); ok {
			return x.Failure
		}
	}
	return ""
}

type isProbeHTTPResponse_Outcome interface {
	isProbeHTTPResponse_Outcome()
}

type ProbeHTTPResponse_Result struct {
	Result *ProbeHTTPResult `protobuf:"bytes,1,opt,name=result,proto3,oneof"`
}

type ProbeHTTPResponse_Failure struct {
	// failure contains a transport error such as timeout, refusal, or no route.
	Failure string `protobuf:"bytes,2,opt,name=failure,proto3,oneof"`
}

func (*ProbeHTTPResponse_Result) isProbeHTTPResponse_Outcome() {}

func (*ProbeHTTPResponse_Failure) isProbeHTTPResponse_Outcome() {}

var File_remoteprovision_proto protoreflect.FileDescriptor

const file_remoteprovision_proto_rawDesc = "" +
	"\n" +
	"\x15remoteprovision.proto\x12\x0fremoteprovision\x1a\x1bgoogle/protobuf/empty.proto\"R\n" +
	"\fPingResponse\x12%\n" +
	"\x0eserver_version\x18\x01 \x01(\tR\rserverVersion\x12\x1b\n" +
	"\thost_arch\x18\x02 \x01(\tR\bhostArch\"\xee\x01\n" +
	"\rCreateRequest\x12'\n" +
	"\x0fcluster_request\x18\x01 \x01(\fR\x0eclusterRequest\x12X\n" +
	"\x0eartifact_paths\x18\x02 \x03(\v21.remoteprovision.CreateRequest.ArtifactPathsEntryR\rartifactPaths\x12\x18\n" +
	"\aoptions\x18\x03 \x01(\fR\aoptions\x1a@\n" +
	"\x12ArtifactPathsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"h\n" +
	"\vCreateEvent\x12\x18\n" +
	"\x06status\x18\x01 \x01(\tH\x00R\x06status\x12\x1a\n" +
	"\awarning\x18\x02 \x01(\tH\x00R\awarning\x12\x1a\n" +
	"\acluster\x18\x03 \x01(\fH\x00R\aclusterB\a\n" +
	"\x05event\"3\n" +
	"\x0eDestroyRequest\x12!\n" +
	"\fcluster_name\x18\x01 \x01(\tR\vclusterName\"\x11\n" +
	"\x0fDestroyResponse\"3\n" +
	"\x0eReflectRequest\x12!\n" +
	"\fcluster_name\x18\x01 \x01(\tR\vclusterName\"+\n" +
	"\x0fReflectResponse\x12\x18\n" +
	"\acluster\x18\x01 \x01(\fR\acluster\"k\n" +
	"\vLogsRequest\x12!\n" +
	"\fcluster_name\x18\x01 \x01(\tR\vclusterName\x12!\n" +
	"\fmachine_name\x18\x02 \x01(\tR\vmachineName\x12\x16\n" +
	"\x06follow\x18\x03 \x01(\bR\x06follow\"@\n" +
	"\aLogData\x12!\n" +
	"\fmachine_name\x18\x01 \x01(\tR\vmachineName\x12\x12\n" +
	"\x04line\x18\x02 \x01(\tR\x04line\"-\n" +
	"\x13StatArtifactRequest\x12\x16\n" +
	"\x06sha256\x18\x01 \x01(\tR\x06sha256\"B\n" +
	"\x14StatArtifactResponse\x12\x16\n" +
	"\x06exists\x18\x01 \x01(\bR\x06exists\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\"J\n" +
	"\rArtifactChunk\x12\x18\n" +
	"\x06sha256\x18\x01 \x01(\tH\x00R\x06sha256\x12\x14\n" +
	"\x04data\x18\x02 \x01(\fH\x00R\x04dataB\t\n" +
	"\apayload\"!\n" +
	"\vArtifactRef\x12\x12\n" +
	"\x04path\x18\x01 \x01(\tR\x04path\"\xe4\x01\n" +
	"\x18SyncBootArtifactsRequest\x12!\n" +
	"\fcluster_name\x18\x01 \x01(\tR\vclusterName\x12c\n" +
	"\x0eartifact_paths\x18\x02 \x03(\v2<.remoteprovision.SyncBootArtifactsRequest.ArtifactPathsEntryR\rartifactPaths\x1a@\n" +
	"\x12ArtifactPathsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xaa\x01\n" +
	"\x19SyncBootArtifactsResponse\x12Q\n" +
	"\achanged\x18\x01 \x03(\v27.remoteprovision.SyncBootArtifactsResponse.ChangedEntryR\achanged\x1a:\n" +
	"\fChangedEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"U\n" +
	"\rRebootRequest\x12!\n" +
	"\fcluster_name\x18\x01 \x01(\tR\vclusterName\x12!\n" +
	"\fmachine_name\x18\x02 \x01(\tR\vmachineName\"\x10\n" +
	"\x0eRebootResponse\"\x94\x01\n" +
	"\x10ProbeHTTPRequest\x12!\n" +
	"\fcluster_name\x18\x01 \x01(\tR\vclusterName\x12\x0e\n" +
	"\x02ip\x18\x02 \x01(\tR\x02ip\x12\x12\n" +
	"\x04port\x18\x03 \x01(\rR\x04port\x12\x12\n" +
	"\x04path\x18\x04 \x01(\tR\x04path\x12%\n" +
	"\x0etimeout_millis\x18\x05 \x01(\rR\rtimeoutMillis\"F\n" +
	"\x0fProbeHTTPResult\x12\x1f\n" +
	"\vstatus_code\x18\x01 \x01(\x05R\n" +
	"statusCode\x12\x12\n" +
	"\x04body\x18\x02 \x01(\fR\x04body\"v\n" +
	"\x11ProbeHTTPResponse\x12:\n" +
	"\x06result\x18\x01 \x01(\v2 .remoteprovision.ProbeHTTPResultH\x00R\x06result\x12\x1a\n" +
	"\afailure\x18\x02 \x01(\tH\x00R\afailureB\t\n" +
	"\aoutcome2\xbf\x06\n" +
	"\x16RemoteProvisionService\x12=\n" +
	"\x04Ping\x12\x16.google.protobuf.Empty\x1a\x1d.remoteprovision.PingResponse\x12H\n" +
	"\x06Create\x12\x1e.remoteprovision.CreateRequest\x1a\x1c.remoteprovision.CreateEvent0\x01\x12L\n" +
	"\aDestroy\x12\x1f.remoteprovision.DestroyRequest\x1a .remoteprovision.DestroyResponse\x12L\n" +
	"\aReflect\x12\x1f.remoteprovision.ReflectRequest\x1a .remoteprovision.ReflectResponse\x12F\n" +
	"\n" +
	"StreamLogs\x12\x1c.remoteprovision.LogsRequest\x1a\x18.remoteprovision.LogData0\x01\x12[\n" +
	"\fStatArtifact\x12$.remoteprovision.StatArtifactRequest\x1a%.remoteprovision.StatArtifactResponse\x12P\n" +
	"\x0eUploadArtifact\x12\x1e.remoteprovision.ArtifactChunk\x1a\x1c.remoteprovision.ArtifactRef(\x01\x12j\n" +
	"\x11SyncBootArtifacts\x12).remoteprovision.SyncBootArtifactsRequest\x1a*.remoteprovision.SyncBootArtifactsResponse\x12I\n" +
	"\x06Reboot\x12\x1e.remoteprovision.RebootRequest\x1a\x1f.remoteprovision.RebootResponse\x12R\n" +
	"\tProbeHTTP\x12!.remoteprovision.ProbeHTTPRequest\x1a\".remoteprovision.ProbeHTTPResponseBN\n" +
	"\x1ddev.talos.api.remoteprovisionZ-github.com/siderolabs/talos/pkg/provision/apib\x06proto3"

var (
	file_remoteprovision_proto_rawDescOnce sync.Once
	file_remoteprovision_proto_rawDescData []byte
)

func file_remoteprovision_proto_rawDescGZIP() []byte {
	file_remoteprovision_proto_rawDescOnce.Do(func() {
		file_remoteprovision_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_remoteprovision_proto_rawDesc), len(file_remoteprovision_proto_rawDesc)))
	})
	return file_remoteprovision_proto_rawDescData
}

var file_remoteprovision_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
var file_remoteprovision_proto_goTypes = []any{
	(*PingResponse)(nil),              // 0: remoteprovision.PingResponse
	(*CreateRequest)(nil),             // 1: remoteprovision.CreateRequest
	(*CreateEvent)(nil),               // 2: remoteprovision.CreateEvent
	(*DestroyRequest)(nil),            // 3: remoteprovision.DestroyRequest
	(*DestroyResponse)(nil),           // 4: remoteprovision.DestroyResponse
	(*ReflectRequest)(nil),            // 5: remoteprovision.ReflectRequest
	(*ReflectResponse)(nil),           // 6: remoteprovision.ReflectResponse
	(*LogsRequest)(nil),               // 7: remoteprovision.LogsRequest
	(*LogData)(nil),                   // 8: remoteprovision.LogData
	(*StatArtifactRequest)(nil),       // 9: remoteprovision.StatArtifactRequest
	(*StatArtifactResponse)(nil),      // 10: remoteprovision.StatArtifactResponse
	(*ArtifactChunk)(nil),             // 11: remoteprovision.ArtifactChunk
	(*ArtifactRef)(nil),               // 12: remoteprovision.ArtifactRef
	(*SyncBootArtifactsRequest)(nil),  // 13: remoteprovision.SyncBootArtifactsRequest
	(*SyncBootArtifactsResponse)(nil), // 14: remoteprovision.SyncBootArtifactsResponse
	(*RebootRequest)(nil),             // 15: remoteprovision.RebootRequest
	(*RebootResponse)(nil),            // 16: remoteprovision.RebootResponse
	(*ProbeHTTPRequest)(nil),          // 17: remoteprovision.ProbeHTTPRequest
	(*ProbeHTTPResult)(nil),           // 18: remoteprovision.ProbeHTTPResult
	(*ProbeHTTPResponse)(nil),         // 19: remoteprovision.ProbeHTTPResponse
	nil,                               // 20: remoteprovision.CreateRequest.ArtifactPathsEntry
	nil,                               // 21: remoteprovision.SyncBootArtifactsRequest.ArtifactPathsEntry
	nil,                               // 22: remoteprovision.SyncBootArtifactsResponse.ChangedEntry
	(*emptypb.Empty)(nil),             // 23: google.protobuf.Empty
}
var file_remoteprovision_proto_depIdxs = []int32{
	20, // 0: remoteprovision.CreateRequest.artifact_paths:type_name -> remoteprovision.CreateRequest.ArtifactPathsEntry
	21, // 1: remoteprovision.SyncBootArtifactsRequest.artifact_paths:type_name -> remoteprovision.SyncBootArtifactsRequest.ArtifactPathsEntry
	22, // 2: remoteprovision.SyncBootArtifactsResponse.changed:type_name -> remoteprovision.SyncBootArtifactsResponse.ChangedEntry
	18, // 3: remoteprovision.ProbeHTTPResponse.result:type_name -> remoteprovision.ProbeHTTPResult
	23, // 4: remoteprovision.RemoteProvisionService.Ping:input_type -> google.protobuf.Empty
	1,  // 5: remoteprovision.RemoteProvisionService.Create:input_type -> remoteprovision.CreateRequest
	3,  // 6: remoteprovision.RemoteProvisionService.Destroy:input_type -> remoteprovision.DestroyRequest
	5,  // 7: remoteprovision.RemoteProvisionService.Reflect:input_type -> remoteprovision.ReflectRequest
	7,  // 8: remoteprovision.RemoteProvisionService.StreamLogs:input_type -> remoteprovision.LogsRequest
	9,  // 9: remoteprovision.RemoteProvisionService.StatArtifact:input_type -> remoteprovision.StatArtifactRequest
	11, // 10: remoteprovision.RemoteProvisionService.UploadArtifact:input_type -> remoteprovision.ArtifactChunk
	13, // 11: remoteprovision.RemoteProvisionService.SyncBootArtifacts:input_type -> remoteprovision.SyncBootArtifactsRequest
	15, // 12: remoteprovision.RemoteProvisionService.Reboot:input_type -> remoteprovision.RebootRequest
	17, // 13: remoteprovision.RemoteProvisionService.ProbeHTTP:input_type -> remoteprovision.ProbeHTTPRequest
	0,  // 14: remoteprovision.RemoteProvisionService.Ping:output_type -> remoteprovision.PingResponse
	2,  // 15: remoteprovision.RemoteProvisionService.Create:output_type -> remoteprovision.CreateEvent
	4,  // 16: remoteprovision.RemoteProvisionService.Destroy:output_type -> remoteprovision.DestroyResponse
	6,  // 17: remoteprovision.RemoteProvisionService.Reflect:output_type -> remoteprovision.ReflectResponse
	8,  // 18: remoteprovision.RemoteProvisionService.StreamLogs:output_type -> remoteprovision.LogData
	10, // 19: remoteprovision.RemoteProvisionService.StatArtifact:output_type -> remoteprovision.StatArtifactResponse
	12, // 20: remoteprovision.RemoteProvisionService.UploadArtifact:output_type -> remoteprovision.ArtifactRef
	14, // 21: remoteprovision.RemoteProvisionService.SyncBootArtifacts:output_type -> remoteprovision.SyncBootArtifactsResponse
	16, // 22: remoteprovision.RemoteProvisionService.Reboot:output_type -> remoteprovision.RebootResponse
	19, // 23: remoteprovision.RemoteProvisionService.ProbeHTTP:output_type -> remoteprovision.ProbeHTTPResponse
	14, // [14:24] is the sub-list for method output_type
	4,  // [4:14] is the sub-list for method input_type
	4,  // [4:4] is the sub-list for extension type_name
	4,  // [4:4] is the sub-list for extension extendee
	0,  // [0:4] is the sub-list for field type_name
}

func init() { file_remoteprovision_proto_init() }
func file_remoteprovision_proto_init() {
	if File_remoteprovision_proto != nil {
		return
	}
	file_remoteprovision_proto_msgTypes[2].OneofWrappers = []any{
		(*CreateEvent_Status)(nil),
		(*CreateEvent_Warning)(nil),
		(*CreateEvent_Cluster)(nil),
	}
	file_remoteprovision_proto_msgTypes[11].OneofWrappers = []any{
		(*ArtifactChunk_Sha256)(nil),
		(*ArtifactChunk_Data)(nil),
	}
	file_remoteprovision_proto_msgTypes[19].OneofWrappers = []any{
		(*ProbeHTTPResponse_Result)(nil),
		(*ProbeHTTPResponse_Failure)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_remoteprovision_proto_rawDesc), len(file_remoteprovision_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   23,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_remoteprovision_proto_goTypes,
		DependencyIndexes: file_remoteprovision_proto_depIdxs,
		MessageInfos:      file_remoteprovision_proto_msgTypes,
	}.Build()
	File_remoteprovision_proto = out.File
	file_remoteprovision_proto_goTypes = nil
	file_remoteprovision_proto_depIdxs = nil
}
