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

package agentedgev1

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 StreamPingsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AgentId       string                 `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StreamPingsRequest) ProtoMessage() {}

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

func (x *StreamPingsRequest) GetAgentId() string {
	if x != nil {
		return x.AgentId
	}
	return ""
}

type StreamPingsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Action:
	//
	//	*StreamPingsResponse_Resume
	//	*StreamPingsResponse_Pause
	//	*StreamPingsResponse_Disconnect
	//	*StreamPingsResponse_JobAssigned
	Action        isStreamPingsResponse_Action `protobuf_oneof:"action"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StreamPingsResponse) ProtoMessage() {}

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

func (x *StreamPingsResponse) GetAction() isStreamPingsResponse_Action {
	if x != nil {
		return x.Action
	}
	return nil
}

func (x *StreamPingsResponse) GetResume() *ResumeAction {
	if x != nil {
		if x, ok := x.Action.(*StreamPingsResponse_Resume); ok {
			return x.Resume
		}
	}
	return nil
}

func (x *StreamPingsResponse) GetPause() *PauseAction {
	if x != nil {
		if x, ok := x.Action.(*StreamPingsResponse_Pause); ok {
			return x.Pause
		}
	}
	return nil
}

func (x *StreamPingsResponse) GetDisconnect() *DisconnectAction {
	if x != nil {
		if x, ok := x.Action.(*StreamPingsResponse_Disconnect); ok {
			return x.Disconnect
		}
	}
	return nil
}

func (x *StreamPingsResponse) GetJobAssigned() *JobAssignedAction {
	if x != nil {
		if x, ok := x.Action.(*StreamPingsResponse_JobAssigned); ok {
			return x.JobAssigned
		}
	}
	return nil
}

type isStreamPingsResponse_Action interface {
	isStreamPingsResponse_Action()
}

type StreamPingsResponse_Resume struct {
	Resume *ResumeAction `protobuf:"bytes,2,opt,name=resume,proto3,oneof"`
}

type StreamPingsResponse_Pause struct {
	Pause *PauseAction `protobuf:"bytes,3,opt,name=pause,proto3,oneof"`
}

type StreamPingsResponse_Disconnect struct {
	Disconnect *DisconnectAction `protobuf:"bytes,4,opt,name=disconnect,proto3,oneof"`
}

type StreamPingsResponse_JobAssigned struct {
	JobAssigned *JobAssignedAction `protobuf:"bytes,5,opt,name=job_assigned,json=jobAssigned,proto3,oneof"`
}

func (*StreamPingsResponse_Resume) isStreamPingsResponse_Action() {}

func (*StreamPingsResponse_Pause) isStreamPingsResponse_Action() {}

func (*StreamPingsResponse_Disconnect) isStreamPingsResponse_Action() {}

func (*StreamPingsResponse_JobAssigned) isStreamPingsResponse_Action() {}

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

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

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

func (*ResumeAction) ProtoMessage() {}

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

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

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

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

func (*PauseAction) ProtoMessage() {}

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

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

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

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

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

func (*DisconnectAction) ProtoMessage() {}

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

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

type JobAssignedAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Job           *Job                   `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*JobAssignedAction) ProtoMessage() {}

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

func (x *JobAssignedAction) GetJob() *Job {
	if x != nil {
		return x.Job
	}
	return nil
}

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

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

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

func (*Job) ProtoMessage() {}

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

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

var File_agentedge_proto protoreflect.FileDescriptor

const file_agentedge_proto_rawDesc = "" +
	"\n" +
	"\x0fagentedge.proto\x12\fagentedge.v1\x1a\x1bbuf/validate/validate.proto\"/\n" +
	"\x12StreamPingsRequest\x12\x19\n" +
	"\bagent_id\x18\x01 \x01(\tR\aagentId\"\x90\x02\n" +
	"\x13StreamPingsResponse\x124\n" +
	"\x06resume\x18\x02 \x01(\v2\x1a.agentedge.v1.ResumeActionH\x00R\x06resume\x121\n" +
	"\x05pause\x18\x03 \x01(\v2\x19.agentedge.v1.PauseActionH\x00R\x05pause\x12@\n" +
	"\n" +
	"disconnect\x18\x04 \x01(\v2\x1e.agentedge.v1.DisconnectActionH\x00R\n" +
	"disconnect\x12D\n" +
	"\fjob_assigned\x18\x05 \x01(\v2\x1f.agentedge.v1.JobAssignedActionH\x00R\vjobAssignedB\b\n" +
	"\x06action\"\x0e\n" +
	"\fResumeAction\"%\n" +
	"\vPauseAction\x12\x16\n" +
	"\x06reason\x18\x01 \x01(\tR\x06reason\"*\n" +
	"\x10DisconnectAction\x12\x16\n" +
	"\x06reason\x18\x01 \x01(\tR\x06reason\"8\n" +
	"\x11JobAssignedAction\x12#\n" +
	"\x03job\x18\x01 \x01(\v2\x11.agentedge.v1.JobR\x03job\"\x15\n" +
	"\x03Job\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id2j\n" +
	"\x10AgentEdgeService\x12V\n" +
	"\vStreamPings\x12 .agentedge.v1.StreamPingsRequest\x1a!.agentedge.v1.StreamPingsResponse\"\x000\x01B\xac\x01\n" +
	"\x10com.agentedge.v1B\x0eAgentedgeProtoP\x01Z7github.com/buildkite/agent/v3/api/proto/gen;agentedgev1\xa2\x02\x03AXX\xaa\x02\fAgentedge.V1\xca\x02\fAgentedge\\V1\xe2\x02\x18Agentedge\\V1\\GPBMetadata\xea\x02\rAgentedge::V1b\x06proto3"

var (
	file_agentedge_proto_rawDescOnce sync.Once
	file_agentedge_proto_rawDescData []byte
)

func file_agentedge_proto_rawDescGZIP() []byte {
	file_agentedge_proto_rawDescOnce.Do(func() {
		file_agentedge_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_agentedge_proto_rawDesc), len(file_agentedge_proto_rawDesc)))
	})
	return file_agentedge_proto_rawDescData
}

var file_agentedge_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_agentedge_proto_goTypes = []any{
	(*StreamPingsRequest)(nil),  // 0: agentedge.v1.StreamPingsRequest
	(*StreamPingsResponse)(nil), // 1: agentedge.v1.StreamPingsResponse
	(*ResumeAction)(nil),        // 2: agentedge.v1.ResumeAction
	(*PauseAction)(nil),         // 3: agentedge.v1.PauseAction
	(*DisconnectAction)(nil),    // 4: agentedge.v1.DisconnectAction
	(*JobAssignedAction)(nil),   // 5: agentedge.v1.JobAssignedAction
	(*Job)(nil),                 // 6: agentedge.v1.Job
}
var file_agentedge_proto_depIdxs = []int32{
	2, // 0: agentedge.v1.StreamPingsResponse.resume:type_name -> agentedge.v1.ResumeAction
	3, // 1: agentedge.v1.StreamPingsResponse.pause:type_name -> agentedge.v1.PauseAction
	4, // 2: agentedge.v1.StreamPingsResponse.disconnect:type_name -> agentedge.v1.DisconnectAction
	5, // 3: agentedge.v1.StreamPingsResponse.job_assigned:type_name -> agentedge.v1.JobAssignedAction
	6, // 4: agentedge.v1.JobAssignedAction.job:type_name -> agentedge.v1.Job
	0, // 5: agentedge.v1.AgentEdgeService.StreamPings:input_type -> agentedge.v1.StreamPingsRequest
	1, // 6: agentedge.v1.AgentEdgeService.StreamPings:output_type -> agentedge.v1.StreamPingsResponse
	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_agentedge_proto_init() }
func file_agentedge_proto_init() {
	if File_agentedge_proto != nil {
		return
	}
	file_agentedge_proto_msgTypes[1].OneofWrappers = []any{
		(*StreamPingsResponse_Resume)(nil),
		(*StreamPingsResponse_Pause)(nil),
		(*StreamPingsResponse_Disconnect)(nil),
		(*StreamPingsResponse_JobAssigned)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_agentedge_proto_rawDesc), len(file_agentedge_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   7,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_agentedge_proto_goTypes,
		DependencyIndexes: file_agentedge_proto_depIdxs,
		MessageInfos:      file_agentedge_proto_msgTypes,
	}.Build()
	File_agentedge_proto = out.File
	file_agentedge_proto_goTypes = nil
	file_agentedge_proto_depIdxs = nil
}
