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

package machine

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

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"

	common "github.com/siderolabs/talos/pkg/machinery/api/common"
)

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 DebugContainerRunRequestSpec_Profile int32

const (
	DebugContainerRunRequestSpec_PROFILE_UNSPECIFIED DebugContainerRunRequestSpec_Profile = 0
	DebugContainerRunRequestSpec_PROFILE_PRIVILEGED  DebugContainerRunRequestSpec_Profile = 1
)

// Enum value maps for DebugContainerRunRequestSpec_Profile.
var (
	DebugContainerRunRequestSpec_Profile_name = map[int32]string{
		0: "PROFILE_UNSPECIFIED",
		1: "PROFILE_PRIVILEGED",
	}
	DebugContainerRunRequestSpec_Profile_value = map[string]int32{
		"PROFILE_UNSPECIFIED": 0,
		"PROFILE_PRIVILEGED":  1,
	}
)

func (x DebugContainerRunRequestSpec_Profile) Enum() *DebugContainerRunRequestSpec_Profile {
	p := new(DebugContainerRunRequestSpec_Profile)
	*p = x
	return p
}

func (x DebugContainerRunRequestSpec_Profile) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DebugContainerRunRequestSpec_Profile) Descriptor() protoreflect.EnumDescriptor {
	return file_machine_debug_proto_enumTypes[0].Descriptor()
}

func (DebugContainerRunRequestSpec_Profile) Type() protoreflect.EnumType {
	return &file_machine_debug_proto_enumTypes[0]
}

func (x DebugContainerRunRequestSpec_Profile) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DebugContainerRunRequestSpec_Profile.Descriptor instead.
func (DebugContainerRunRequestSpec_Profile) EnumDescriptor() ([]byte, []int) {
	return file_machine_debug_proto_rawDescGZIP(), []int{1, 0}
}

type DebugContainerRunRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Request:
	//
	//	*DebugContainerRunRequest_Spec
	//	*DebugContainerRunRequest_StdinData
	//	*DebugContainerRunRequest_Signal
	//	*DebugContainerRunRequest_TermResize
	Request       isDebugContainerRunRequest_Request `protobuf_oneof:"request"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DebugContainerRunRequest) ProtoMessage() {}

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

func (x *DebugContainerRunRequest) GetRequest() isDebugContainerRunRequest_Request {
	if x != nil {
		return x.Request
	}
	return nil
}

func (x *DebugContainerRunRequest) GetSpec() *DebugContainerRunRequestSpec {
	if x != nil {
		if x, ok := x.Request.(*DebugContainerRunRequest_Spec); ok {
			return x.Spec
		}
	}
	return nil
}

func (x *DebugContainerRunRequest) GetStdinData() []byte {
	if x != nil {
		if x, ok := x.Request.(*DebugContainerRunRequest_StdinData); ok {
			return x.StdinData
		}
	}
	return nil
}

func (x *DebugContainerRunRequest) GetSignal() int32 {
	if x != nil {
		if x, ok := x.Request.(*DebugContainerRunRequest_Signal); ok {
			return x.Signal
		}
	}
	return 0
}

func (x *DebugContainerRunRequest) GetTermResize() *DebugContainerTerminalResize {
	if x != nil {
		if x, ok := x.Request.(*DebugContainerRunRequest_TermResize); ok {
			return x.TermResize
		}
	}
	return nil
}

type isDebugContainerRunRequest_Request interface {
	isDebugContainerRunRequest_Request()
}

type DebugContainerRunRequest_Spec struct {
	// 1. send the container spec
	Spec *DebugContainerRunRequestSpec `protobuf:"bytes,1,opt,name=spec,proto3,oneof"`
}

type DebugContainerRunRequest_StdinData struct {
	// 2. send either of the three below to interact with the running container
	StdinData []byte `protobuf:"bytes,2,opt,name=stdin_data,json=stdinData,proto3,oneof"`
}

type DebugContainerRunRequest_Signal struct {
	Signal int32 `protobuf:"varint,3,opt,name=signal,proto3,oneof"`
}

type DebugContainerRunRequest_TermResize struct {
	TermResize *DebugContainerTerminalResize `protobuf:"bytes,4,opt,name=term_resize,json=termResize,proto3,oneof"`
}

func (*DebugContainerRunRequest_Spec) isDebugContainerRunRequest_Request() {}

func (*DebugContainerRunRequest_StdinData) isDebugContainerRunRequest_Request() {}

func (*DebugContainerRunRequest_Signal) isDebugContainerRunRequest_Request() {}

func (*DebugContainerRunRequest_TermResize) isDebugContainerRunRequest_Request() {}

type DebugContainerRunRequestSpec struct {
	state         protoimpl.MessageState               `protogen:"open.v1"`
	Containerd    *common.ContainerdInstance           `protobuf:"bytes,1,opt,name=containerd,proto3" json:"containerd,omitempty"`
	ImageName     string                               `protobuf:"bytes,2,opt,name=image_name,json=imageName,proto3" json:"image_name,omitempty"`
	Args          []string                             `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	Env           map[string]string                    `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Profile       DebugContainerRunRequestSpec_Profile `protobuf:"varint,5,opt,name=profile,proto3,enum=machine.DebugContainerRunRequestSpec_Profile" json:"profile,omitempty"`
	Tty           bool                                 `protobuf:"varint,6,opt,name=tty,proto3" json:"tty,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DebugContainerRunRequestSpec) ProtoMessage() {}

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

func (x *DebugContainerRunRequestSpec) GetContainerd() *common.ContainerdInstance {
	if x != nil {
		return x.Containerd
	}
	return nil
}

func (x *DebugContainerRunRequestSpec) GetImageName() string {
	if x != nil {
		return x.ImageName
	}
	return ""
}

func (x *DebugContainerRunRequestSpec) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

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

func (x *DebugContainerRunRequestSpec) GetProfile() DebugContainerRunRequestSpec_Profile {
	if x != nil {
		return x.Profile
	}
	return DebugContainerRunRequestSpec_PROFILE_UNSPECIFIED
}

func (x *DebugContainerRunRequestSpec) GetTty() bool {
	if x != nil {
		return x.Tty
	}
	return false
}

type DebugContainerTerminalResize struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Width         int32                  `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
	Height        int32                  `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DebugContainerTerminalResize) ProtoMessage() {}

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

func (x *DebugContainerTerminalResize) GetWidth() int32 {
	if x != nil {
		return x.Width
	}
	return 0
}

func (x *DebugContainerTerminalResize) GetHeight() int32 {
	if x != nil {
		return x.Height
	}
	return 0
}

type DebugContainerRunResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Resp:
	//
	//	*DebugContainerRunResponse_StdoutData
	//	*DebugContainerRunResponse_ExitCode
	Resp          isDebugContainerRunResponse_Resp `protobuf_oneof:"resp"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DebugContainerRunResponse) ProtoMessage() {}

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

func (x *DebugContainerRunResponse) GetResp() isDebugContainerRunResponse_Resp {
	if x != nil {
		return x.Resp
	}
	return nil
}

func (x *DebugContainerRunResponse) GetStdoutData() []byte {
	if x != nil {
		if x, ok := x.Resp.(*DebugContainerRunResponse_StdoutData); ok {
			return x.StdoutData
		}
	}
	return nil
}

func (x *DebugContainerRunResponse) GetExitCode() int32 {
	if x != nil {
		if x, ok := x.Resp.(*DebugContainerRunResponse_ExitCode); ok {
			return x.ExitCode
		}
	}
	return 0
}

type isDebugContainerRunResponse_Resp interface {
	isDebugContainerRunResponse_Resp()
}

type DebugContainerRunResponse_StdoutData struct {
	StdoutData []byte `protobuf:"bytes,2,opt,name=stdout_data,json=stdoutData,proto3,oneof"`
}

type DebugContainerRunResponse_ExitCode struct {
	ExitCode int32 `protobuf:"varint,3,opt,name=exit_code,json=exitCode,proto3,oneof"`
}

func (*DebugContainerRunResponse_StdoutData) isDebugContainerRunResponse_Resp() {}

func (*DebugContainerRunResponse_ExitCode) isDebugContainerRunResponse_Resp() {}

var File_machine_debug_proto protoreflect.FileDescriptor

const file_machine_debug_proto_rawDesc = "" +
	"\n" +
	"\x13machine/debug.proto\x12\amachine\x1a\x13common/common.proto\"\xe7\x01\n" +
	"\x18DebugContainerRunRequest\x12;\n" +
	"\x04spec\x18\x01 \x01(\v2%.machine.DebugContainerRunRequestSpecH\x00R\x04spec\x12\x1f\n" +
	"\n" +
	"stdin_data\x18\x02 \x01(\fH\x00R\tstdinData\x12\x18\n" +
	"\x06signal\x18\x03 \x01(\x05H\x00R\x06signal\x12H\n" +
	"\vterm_resize\x18\x04 \x01(\v2%.machine.DebugContainerTerminalResizeH\x00R\n" +
	"termResizeB\t\n" +
	"\arequest\"\x9e\x03\n" +
	"\x1cDebugContainerRunRequestSpec\x12:\n" +
	"\n" +
	"containerd\x18\x01 \x01(\v2\x1a.common.ContainerdInstanceR\n" +
	"containerd\x12\x1d\n" +
	"\n" +
	"image_name\x18\x02 \x01(\tR\timageName\x12\x12\n" +
	"\x04args\x18\x03 \x03(\tR\x04args\x12@\n" +
	"\x03env\x18\x04 \x03(\v2..machine.DebugContainerRunRequestSpec.EnvEntryR\x03env\x12G\n" +
	"\aprofile\x18\x05 \x01(\x0e2-.machine.DebugContainerRunRequestSpec.ProfileR\aprofile\x12\x10\n" +
	"\x03tty\x18\x06 \x01(\bR\x03tty\x1a6\n" +
	"\bEnvEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\":\n" +
	"\aProfile\x12\x17\n" +
	"\x13PROFILE_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12PROFILE_PRIVILEGED\x10\x01\"L\n" +
	"\x1cDebugContainerTerminalResize\x12\x14\n" +
	"\x05width\x18\x01 \x01(\x05R\x05width\x12\x16\n" +
	"\x06height\x18\x02 \x01(\x05R\x06height\"e\n" +
	"\x19DebugContainerRunResponse\x12!\n" +
	"\vstdout_data\x18\x02 \x01(\fH\x00R\n" +
	"stdoutData\x12\x1d\n" +
	"\texit_code\x18\x03 \x01(\x05H\x00R\bexitCodeB\x06\n" +
	"\x04resp2i\n" +
	"\fDebugService\x12Y\n" +
	"\fContainerRun\x12!.machine.DebugContainerRunRequest\x1a\".machine.DebugContainerRunResponse(\x010\x01BN\n" +
	"\x15dev.talos.api.machineZ5github.com/siderolabs/talos/pkg/machinery/api/machineb\x06proto3"

var (
	file_machine_debug_proto_rawDescOnce sync.Once
	file_machine_debug_proto_rawDescData []byte
)

func file_machine_debug_proto_rawDescGZIP() []byte {
	file_machine_debug_proto_rawDescOnce.Do(func() {
		file_machine_debug_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_machine_debug_proto_rawDesc), len(file_machine_debug_proto_rawDesc)))
	})
	return file_machine_debug_proto_rawDescData
}

var file_machine_debug_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_machine_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_machine_debug_proto_goTypes = []any{
	(DebugContainerRunRequestSpec_Profile)(0), // 0: machine.DebugContainerRunRequestSpec.Profile
	(*DebugContainerRunRequest)(nil),          // 1: machine.DebugContainerRunRequest
	(*DebugContainerRunRequestSpec)(nil),      // 2: machine.DebugContainerRunRequestSpec
	(*DebugContainerTerminalResize)(nil),      // 3: machine.DebugContainerTerminalResize
	(*DebugContainerRunResponse)(nil),         // 4: machine.DebugContainerRunResponse
	nil,                                       // 5: machine.DebugContainerRunRequestSpec.EnvEntry
	(*common.ContainerdInstance)(nil),         // 6: common.ContainerdInstance
}
var file_machine_debug_proto_depIdxs = []int32{
	2, // 0: machine.DebugContainerRunRequest.spec:type_name -> machine.DebugContainerRunRequestSpec
	3, // 1: machine.DebugContainerRunRequest.term_resize:type_name -> machine.DebugContainerTerminalResize
	6, // 2: machine.DebugContainerRunRequestSpec.containerd:type_name -> common.ContainerdInstance
	5, // 3: machine.DebugContainerRunRequestSpec.env:type_name -> machine.DebugContainerRunRequestSpec.EnvEntry
	0, // 4: machine.DebugContainerRunRequestSpec.profile:type_name -> machine.DebugContainerRunRequestSpec.Profile
	1, // 5: machine.DebugService.ContainerRun:input_type -> machine.DebugContainerRunRequest
	4, // 6: machine.DebugService.ContainerRun:output_type -> machine.DebugContainerRunResponse
	6, // [6:7] is the sub-list for method output_type
	5, // [5:6] is the sub-list for method input_type
	5, // [5:5] is the sub-list for extension type_name
	5, // [5:5] is the sub-list for extension extendee
	0, // [0:5] is the sub-list for field type_name
}

func init() { file_machine_debug_proto_init() }
func file_machine_debug_proto_init() {
	if File_machine_debug_proto != nil {
		return
	}
	file_machine_debug_proto_msgTypes[0].OneofWrappers = []any{
		(*DebugContainerRunRequest_Spec)(nil),
		(*DebugContainerRunRequest_StdinData)(nil),
		(*DebugContainerRunRequest_Signal)(nil),
		(*DebugContainerRunRequest_TermResize)(nil),
	}
	file_machine_debug_proto_msgTypes[3].OneofWrappers = []any{
		(*DebugContainerRunResponse_StdoutData)(nil),
		(*DebugContainerRunResponse_ExitCode)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_machine_debug_proto_rawDesc), len(file_machine_debug_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_machine_debug_proto_goTypes,
		DependencyIndexes: file_machine_debug_proto_depIdxs,
		EnumInfos:         file_machine_debug_proto_enumTypes,
		MessageInfos:      file_machine_debug_proto_msgTypes,
	}.Build()
	File_machine_debug_proto = out.File
	file_machine_debug_proto_goTypes = nil
	file_machine_debug_proto_depIdxs = nil
}
